嘿。 当我说关闭时,我没有提到方法close(),但是当用户点击窗口的关闭按钮时。我有多种形式,根据用户是否登录或即将登录等显示和隐藏。当用户最后关闭其中一个表格时,我希望他们全部退出。现在,当用户关闭表单时,程序仍在运行,因为后台隐藏中存在表单。关闭时退出所有表格
我该如何退出关闭,我记得在Java中这样做,谢谢。
嘿。 当我说关闭时,我没有提到方法close(),但是当用户点击窗口的关闭按钮时。我有多种形式,根据用户是否登录或即将登录等显示和隐藏。当用户最后关闭其中一个表格时,我希望他们全部退出。现在,当用户关闭表单时,程序仍在运行,因为后台隐藏中存在表单。关闭时退出所有表格
我该如何退出关闭,我记得在Java中这样做,谢谢。
致电Application.Exit()
方法。
只有在您知道时,才调用Application.Exit(),以确保应用程序的其余部分可以非正常关闭。如果其他打开的表单需要在FormClosing事件中做某些事情,则不会完成。使用Application.Exit()是一种“糟糕的代码味道”,这意味着您的设计出现问题。
集中式事件处理是所有表单的子集合,因此可以在应用程序关闭时通知它们。也有很多其他的方式来处理这个问题,谷歌知道:)
private void btnExit_Click(object sender, EventArgs e)
{
for (int i = Application.OpenForms.Count-1 ; i >= 0; i--)
{
if (Application.OpenForms[i].Name != "Menu")
Application.OpenForms[i].Close();
}
}
调用Environment.Exit(0);方法
private void btnExit_Click(object sender, EventArgs e)
{
Environment.Exit(0);
}
我试图解决同样的问题,这是工作的罚款:
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
嗯,是的,但我怎么能说这将是呼吁关闭... – Johannes 2010-10-26 20:54:08
处理表单。 FormClosed()事件。 – Bernard 2010-10-26 20:55:50
您可以在Form_Closing事件处理程序中执行此操作。 http://msdn.microsoft.com/en-us/library/system.windows.forms.form.closing.aspx – David 2010-10-26 20:56:25