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();
所以堆栈溢出异常。
你应该重新考虑你的设计来解决这个问题。
例如您可以:
将所有相关的形式设置为单例,带有私有构造函数,
或者通过在Program
class.
中添加这些字段,在Main
方法中实例化它们
您可以检查其他表格的相同内容。
我的程序有 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();
所以堆栈溢出异常。
你应该重新考虑你的设计来解决这个问题。
例如您可以:
将所有相关的形式设置为单例,带有私有构造函数,
或者通过在
中添加这些字段,在Program
class.Main
方法中实例化它们
您可以检查其他表格的相同内容。