c# - 如何知道应用程序正在关闭

标签 c# wpf dialog monitor shutdown

有一个 WPF 应用程序。

我想在应用程序关闭时记录。

但我不能修改应用程序(一些限制,只是因为业务)。

所以我在现有应用程序中创建了一个不可见的表单组件,作为一个 dll 库添加,因此不需要修改现有应用程序。

但问题是,我的不可见组件如何知道应用程序正在关闭?

是否有一些我可以使用的函数或事件处理程序?

解决方法:

有些事件可以做到这一点,

未加载 关闭 关闭

当主窗口将要关闭时,所有这三个事件都会被触发。

问题解决了

最佳答案

System.Windows.Window 类有一个虚拟的 OnClosing(CancelEventArgs) 方法,可以为此覆盖,还有一个 Closing 事件可以处理。

我通常捕获这些事件并将信息传递给 Page 类,遗憾的是,这些类不包含此类方法或事件。

每个窗口在关闭时都会触发这些方法,因此无需在父窗口和子窗口之间连接任何消息。而且,我相信,任务管理器将首先尝试正常关闭应用程序,这将导致触发关闭事件,除非有其他东西(如对话框)阻止它。只有在尝试之后,TM才会询问是否对应用程序执行异常结束,这显然会绕过Closing事件。

关于c# - 如何知道应用程序正在关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2113606/

相关文章:

c# - 无法在 ASP.NET 中添加编程控件

c# - 绑定(bind)到 Children.Count

android - DialogFragment 中的动画 View

c++ - 在新线程中创建对话框

c# - 未捕获的类型错误 : undefined is not a function - Highcharts - MVC

c# - 使用本地帐户使用安全的 ASP Net 5 web api

c# - Razor 引用未在 MVC 5 View 中解析 Visual Studio 2015 Enterprise

c# - wpf强制构建可视化树

c# - 使用代码隐藏将 WPF TreeView 中节点中的父字体设置为粗体

java - 仅在OptionsItemSelected 上显示文本的弹出窗口