Resume/Perform 布局中的 C# Windows 窗体错误

C# WindowsForm error at Resume/Perform layout

我的程序有 3 种不同的形式。在 SecondMenu.Designer.cs 我在 this.PerformLayout();this.ResumeLayout(false);

我的第二个菜单代码是:

private void SecondMenu_Load(object sender, EventArgs e)
{
checkBox1.Checked = Properties.Settings.Default.CheckBox1;
checkBox2.Checked = Properties.Settings.Default.CheckBox2;
checkBox3.Checked = Properties.Settings.Default.CheckBox3;
checkBox4.Checked = Properties.Settings.Default.CheckBox4;
textBox1.Text = Properties.Settings.Default.TextBox1;
textBox2.Text = Properties.Settings.Default.TextBox2;
}
private void button1_Click(object sender, EventArgs e)
       {
           this.Hide();
           FirstMenu fomenu = new FirstMenu();
           Properties.Settings.Default.CheckBox1 = checkBox1.Checked;
           Properties.Settings.Default.CheckBox2 = checkBox2.Checked;
           Properties.Settings.Default.CheckBox3 = checkBox3.Checked;
           Properties.Settings.Default.CheckBox4 = checkBox4.Checked;
           Properties.Settings.Default.TextBox1 = textBox1.Text;
           Properties.Settings.Default.TextBox2 = textBox2.Text;
           Properties.Settings.Default.Save();
           fomenu.Show();
       }

From the .rar provided

FirstMenu.cs这个字段初始化:

GameMenu fojatek = new GameMenu();

并且在GameMenu.cs中:

FirstMenu fomenu = new FirstMenu();

所以堆栈溢出异常

你应该重新考虑你的设计来解决这个问题。

例如您可以:

  • 将所有相关的形式设置为单例,带有私有构造函数,

  • 或者通过在Programclass.

    中添加这些字段,在Main方法中实例化它们

您可以检查其他表格的相同内容。