有一个 WPF 应用程序。
我想在应用程序关闭时记录。
但我不能修改应用程序(一些限制,只是因为业务)。
所以我在现有应用程序中创建了一个不可见的表单组件,作为一个 dll 库添加,因此不需要修改现有应用程序。
但问题是,我的不可见组件如何知道应用程序正在关闭?
是否有一些我可以使用的函数或事件处理程序?
解决方法:
有些事件可以做到这一点,
未加载 关闭 关闭
当主窗口将要关闭时,所有这三个事件都会被触发。
问题解决了
最佳答案
System.Windows.Window
类有一个虚拟的 OnClosing(CancelEventArgs)
方法,可以为此覆盖,还有一个 Closing
事件可以处理。
我通常捕获这些事件并将信息传递给 Page
类,遗憾的是,这些类不包含此类方法或事件。
每个窗口在关闭时都会触发这些方法,因此无需在父窗口和子窗口之间连接任何消息。而且,我相信,任务管理器将首先尝试正常关闭应用程序,这将导致触发关闭事件,除非有其他东西(如对话框)阻止它。只有在尝试之后,TM才会询问是否对应用程序执行异常结束,这显然会绕过Closing事件。
关于c# - 如何知道应用程序正在关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2113606/