关闭时退出所有表格

时间:2010-10-26 20:49:37

标签: c# winforms

嘿。 当我说关闭时,我不会说方法close(),但是当用户点击窗口的关闭按钮时。我有多种形式,根据用户是否登录或即将登录等显示和隐藏。当用户最终关闭其中一个表单时,我希望它们全部退出。现在,当用户关闭表单时,程序仍在运行,因为后台隐藏了一个表单。

我怎么能在关闭时退出,我记得在Java中这样做,谢谢。

5 个答案:

答案 0 :(得分:16)

调用Application.Exit()方法。

答案 1 :(得分:6)

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();
    }
}

答案 2 :(得分:2)

调用Environment.Exit(0);方法

 private void btnExit_Click(object sender, EventArgs e)
    {
        Environment.Exit(0);
    }

答案 3 :(得分:1)

如果您知道应用程序的其余部分可以非正常关闭,则只调用Application.Exit()。如果其他开放表单需要在其FormClosing事件中执行某些操作,则无法完成此操作。使用Application.Exit()是一种“糟糕的代码味道”,意味着您的设计存在问题。

执行所有表单所属的集中事件处理,以便在应用程序关闭时通知它们。还有很多其他方法可以解决这个问题,Teh Googles知道:)

答案 4 :(得分:0)

我尝试解决同样的问题,这很好用:

  private void Form2_FormClosed(object sender, FormClosedEventArgs e)
    {
        Application.Exit();
    }