Когда я открываю вторую форму внутри первой, она не работает должным образом (C#) - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть две формы в моем проекте (простая игра для детей). Первый - это меню «Пуск», а второй - игра. Теперь, когда я нажимаю на «Новая игра», я хочу, чтобы вторая форма открывалась внутри первой. Я сделал это, используя следующий код:

  private Form activeForm = null;
        private void openChildForm(Form childForm1)
        {
            if (activeForm!=null)
            {
                activeForm.Close();
            }
            activeForm = childForm1;
            childForm1.TopLevel = false;
            childForm1.FormBorderStyle = FormBorderStyle.None;
            childForm1.Dock = DockStyle.Fill;
            panel1.Controls.Add(childForm1);
            panel1.Tag = childForm1;
            childForm1.BringToFront();
            childForm1.Show();


        }

Теперь вторая форма открывается внутри первой, но она не работает должным образом. Во второй форме у меня есть поле для картинок, которое должно двигаться, когда пользователь нажимает одну из клавиш со стрелками. Но он не сдвинется с места.

Любые предложения, что мне делать?

PS Я новичок, и это школьный проект. Мой учитель показал нам только один способ открытия формы:

Form2 objForm2 = new Form2();
objForm2.Show();

, но, поскольку это очень уродливый метод выполнения работы, я хотел сделать это лучше.

I ' используя Visual Studio 2019

1 Ответ

1 голос
/ 07 апреля 2020

Я бы посоветовал вам использовать так называемый UserControl . В основном это то, что говорит название: это пользовательский элемент управления windows, у которого есть свои дочерние элементы управления -> Просто как форма.

...