我想关闭当前使用的表单 (MainForm),然后打开第二个表单 (Form)。
我试过:
private void buttonStartQuiz_Click(object sender, EventArgs e)
{
this.Close();
Form2 form2 = new Form2();
form2.ShowDialog();
}
或者在 form2.ShowDialog()
之后添加 this.Close();
也不起作用。
有什么提示吗?
编辑:还可以通过在 form2.ShowDialog()
之后添加 this.Close()
添加它,它仅在我关闭新表单时关闭。
如果我改为选择 form2.Show()
,它会立即关闭这两个表单。
最佳答案
改变
this.Close();
收件人:
this.Hide();
因为您无法关闭主应用程序窗口并希望应用程序在它之后运行。 您必须隐藏主窗体或将主窗口更改为仍然打开的窗口。
在这种情况下,您必须在 ShowDialog()
结束后关闭主窗口。
然后你必须在这个按钮事件函数的末尾添加 this.Close()
您的代码新代码是:
private void buttonStartQuiz_Click(object sender, EventArgs e)
{
// hide main form
this.Hide();
// show other form
Form2 form2 = new Form2();
form2.ShowDialog();
// close application
this.Close();
}
关于c# - 关闭一个表单然后调用另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2751076/