关上一扇窗户

时间:2009-03-08 07:46:12

标签: c#

如果我关闭一个窗口,我想知道窗口关闭的方式(即) 通过鼠标单击关闭图标或alt + f4。是否有任何获取此信息的事件?

3 个答案:

答案 0 :(得分:2)

我不相信有任何事件专门给你这个信息,不。 FormClosingEvent提供FormClosingEventArgs CloseReason,但原因并不区分使用鼠标或键盘。它只区分“用户关闭”事件和“表单所有者关闭”或“应用程序已从任务管理器关闭”之类的事情。

答案 1 :(得分:2)

您是否可以捕获特定的WM _...-消息以区分它们,不要这样做!可用性的基本原则之一并不令人惊讶:不辜负用户的期望。做其他所有应用程序所做的事情,特别是涉及绝对基础知识时。

答案 2 :(得分:1)

无论您使用哪种工具包,总是会有关闭按钮的点击事件,Alt + F4的键盘事件,菜单的菜单点击事件等等。您所要做的就是列举退出应用程序的可能方法,更改事件处理程序以将变量设置为其对应的值,并在应用程序关闭过程中检查该变量。