У меня есть 2 вызова UserControl: campain_Post & campain_Interact.
Форма AddCampain при нажатии кнопки AddCampain в MainForm
Как и на изображении выше, я хочу при нажатии наКнопка Campain Post в форме AddCampain, она загружает Campain_Post UserControl в Panel, которая закрепляется в MainForm, а затем закрывает эту всплывающую форму.
Аналогично, когда вы нажимаете кнопку Campain_Interact, он загружает пользовательский контроль Campain_Interact в ту же панель, которая закрепляется в Mainform, затемзакройте эту всплывающую форму.
Но когда я нажимаю на Campain Post или Campain Interact, появляется ошибка в этой строке: pnl.panel2.Controls.Add (camPost) говорит, что ссылка на объект не установлена для экземпляра объекта!
Прямо сейчас мой код:
Форма AddCampain:
private void CampainPost_Click(object sender, EventArgs e)
{
////MainForm pnl = new MainForm();
MainForm pnl = (MainForm)ParentForm;
//MainForm pnl = (this.Parent as MainForm);
Campain_Post camPost = new Campain_Post();
//pnl.panel2.Controls.Clear();
pnl.panel2.Controls.Add(camPost);
camPost.Dock = DockStyle.Fill;
camPost.BringToFront();
//MainForm.showUC(new Campain_Post(), pnl.panel2);
}
private void CampainInteraction_Click(object sender, EventArgs e)
{
//Panel pnl2 = this.Parent as Panel;
//pnl.panel2.Controls.Clear();
MainForm pnl = (MainForm)this.ParentForm;
//MainForm pnl = new MainForm();
Campain_Interaction camInteract = new Campain_Interaction();
pnl.panel2.Controls.Add(camInteract);
camInteract.Dock = DockStyle.Fill;
camInteract.BringToFront();
}
Пользовательский контроль CampainOverview, содержащий кнопку AddCampain:
private void addCampain_Click(object sender, EventArgs e)
{
AddCampain addCampain = new AddCampain();
addCampain.ShowDialog();
//UserControl1 user = new UserControl1();
//user.Show();
}