使用ALT + F4关闭所有表单

时间:2016-06-10 10:58:15

标签: c# winforms formclosing

我有2个表单,form1是菜单,按钮startsettingsquitform2是程序运行的地方

我遇到的问题是,如果用户在form2上使用 Alt + F4 ,它会关闭form2,但form1会在后台运行。我知道我可以使用form2 Closing事件,因此它可以运行Environment.Exit(0),但该结束事件也会激活"如果我使用form2"返回菜单"按钮,关闭form2。我还尝试使用“菜单”按钮隐藏form2,但是当我需要调用另一个form2时,它会打开一个新的实例。

所以,总结一下: ALT + F4 应关闭整个应用程序,而不仅仅是当前表单,但不能使用form2 { {1}}事件,因为我想以其他方式关闭Closing

1 个答案:

答案 0 :(得分:1)

您可以使用KeyDown事件。基本上,您捕获该组合键,告诉系统您将要处理它,以便它不会传递给它并最终关闭应用程序。要关闭它,最好使用Application.Exit()代替Environment.Exit。你可以看到为什么here例如:

    private void Form2_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Alt && e.KeyCode == Keys.F4)
        {
            e.Handled = true;
            //Close your app
            Application.Exit();
        }
    }