Application.Run()返回时获取CloseReason?

时间:2010-01-08 10:41:49

标签: .net winforms

当表单关闭时,它会在FormClosed事件CloseReason中获得一个有用的参数。然而,我们的应用程序仅使用托盘图标运行,并且大多数时间都没有打开窗口。当它退出时,我想记录它退出的原因 - 特别是,知道CloseReason.WindowsShutDownCloseReason.TaskManagerClosing会很有用。

在没有任何Application.Run个实例的情况下,Form返回后是否有办法检查上述内容?

1 个答案:

答案 0 :(得分:0)

没有内置的方法可以做到这一点,但你总是可以自己做。

最简单的可能是在您的Program类中添加一个静态属性,您可以在其中分配您在FormClosed事件中获得的CloseReason。然后可以在稍后的代码中读取它。

或者,您可以创建自己的类,该类派生自ApplicationContext并在那里处理FormClosed事件。这可能是一种更清洁的方法,但设置起来也会更加麻烦。