Как добавить userControl на панель в MainForm из другой формы - PullRequest
0 голосов
/ 31 января 2019

У меня есть 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();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...