使用ALT + F4关闭所有形式的
问题描述:
我有2种形式,form1
是菜单,使用按钮start
,settings
,quit
和form2
是程序运行。使用ALT + F4关闭所有形式的
我所面临的问题是,如果用户在使用form2
Alt + F4,它关闭form2
,但form1
在后台运行。我知道我可以使用form2
Closing
事件,因此它可以运行Environment.Exit(0)
,但是如果使用form2
“返回菜单”按钮关闭form2
,该关闭事件也会“激活”。我也尝试用菜单按钮隐藏form2
,但当我需要调用另一个form2
时,它会打开一个新的实例。
因此,简言之:ALT + F4应该关闭整个应用程序,而不仅仅是目前的形式,但不能使用form2
Closing
事件,因为我想关闭form2
一些其他的办法了。
答
您可以使用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();
}
}
嗯,你可以使用'KeyDown'事件检测'ALT + F4'combination并采取相应的行动 – Pikoh