Я пытаюсь динамически загружать экземпляры пользовательских элементов управления в мою основную форму, и это работает по большей части, когда программа загружается, но не работает после соответствующей кнопки, чтобы загрузить этот пользовательский элемент управления, дважды нажатый.
Я использую следующий код для создания экземпляра пользовательских элементов управления
public partial class patientInfo : UserControl
{
public static patientInfo _instance;
public static patientInfo Instance
{
get
{
if (_instance == null)
_instance = new patientInfo();
return _instance;
}
}
}
и этот код для загрузки экземпляра в MainForm
private void pInfo_Click(object sender, EventArgs e)
{
//Patient Info
foreach (Control ctrl in panel3.Controls)
{
ctrl.Dispose();
}
if (!panel3.Controls.Contains(patientInfo.Instance))
{
panel3.Controls.Add(patientInfo.Instance);
patientInfo.Instance.Dock = DockStyle.Fill;
patientInfo.Instance.BringToFront();
}
else
{
patientInfo.Instance.BringToFront();
}
}
Если я нажму эту кнопку, как только пользовательский элемент управления загрузится так, как он должен, но я нажму ее снова, пользовательский элемент управления исчезнет. Я использую Dispose, потому что я хочу загрузить и выгрузить несколько пользовательских элементов управления на разных кнопках мыши.
Пожалуйста, посоветуйте спасибо.