当我在第一个窗体中打开第二个窗体时,它无法正常工作(C#)

时间:2020-04-07 12:11:36

标签: c# .net winforms visual-studio-2019 mdi

我的项目中有两种形式(一个简单的儿童游戏)。第一个是开始菜单,第二个是游戏。现在,当我单击“新游戏”时,我希望第二个表单在第一个表单中打开。我通过使用以下代码来做到这一点:

  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();


        }

现在第二个表单在第一个表单中打开,但是无法正常工作。在第二种形式中,我有一个图片框,当用户按下其中一个箭头键时,该框应该会移动。但是它不会动。

任何建议我该怎么办?

P.S。 我是一个初学者,这是一个学校项目。我的老师向我们展示了一种打开表格的方式:

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

但是由于这是完成工作的非常丑陋的方法,所以我想做得更好。

我正在使用Visual Studio 2019

1 个答案:

答案 0 :(得分:1)

我建议您使用所谓的UserControl,基本上就是这个名字所说的:这是一个自定义的Windows窗体控件,女巫拥有自己的子控件->就像一个窗体一样。