我有一个Form1,当我运行一个循环时,我需要打开另一个表单(Form2)。 问题是,当我运行循环时,它仅首次显示Form2,然后Form2自动打开和关闭。
为了探究它,我写了这个简单的代码,但它不起作用:
Form2 reg = new Form2();
while (true)
{
reg.ShowDialog();
}
在Form2中:
private void button1_Click(object sender, EventArgs e)
{
Application.Exit();
}
感谢您的帮助!
答案 0 :(得分:1)
我认为您正在使用button1关闭Form2。这执行button1_click,它不是简单地关闭Form2,而是关闭整个Application。
我尝试了你的代码,如果我使用右上角的X关闭Form2,它会关闭并立即重新打开。
如果这是你的问题,你可以通过修改你的方法来解决它:
private void button1_Click(object sender, EventArgs e)
{
this.Close();
}
另一个解决方案可能是将按钮的DialogResult属性设置为与默认的DialogResult.None不同。这样,当单击该按钮时,表单将自动关闭,并且该属性的值将用作ShowDialog()的结果。