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

问题描述 投票:0回答:1

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

  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

c# .net winforms visual-studio-2019 mdi
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.