WPF 有 e.CloseReason 吗?

Posted

技术标签:

【中文标题】WPF 有 e.CloseReason 吗?【英文标题】:Is there an e.CloseReason for WPF? 【发布时间】:2014-02-08 05:52:03 【问题描述】:

在制作应用程序时,我非常喜欢控制计算机上所有可能的情况。现在我开始在某些事情上使用 WPF 而不是 WinForms,我也开始意识到 WPF 中缺少许多非常酷的东西 - 寻找替代品似乎是一场永无止境的斗争。

对于 WinForms,WPF 中是否有替代 e.CloseReason 的方法?

【问题讨论】:

具体说明您要检测的密切原因。不要说“全部”。 @HansPassant WindowsShutDown 和 None 是我现在更感兴趣的。其他我现在可以不用的(比如 TaskManager 之一)。 通过 Application.SessionEnding 报告 Windows 关闭。没有一个需要回答“所有这些”的问题。 【参考方案1】:

不同的“原因”表现为不同的事件。 ClosingClosed 事件与显式关闭窗口有关,无论是通过编程方式还是通过 Alt+F4 或关闭按钮。 Application.SessionEnding 事件在关机或注销时发生,信息由ReasonSessionEnding 公开。进程的退出代码可以从Application.Exit事件的ApplicationExitCode读取。

【讨论】:

以上是关于WPF 有 e.CloseReason 吗?的主要内容,如果未能解决你的问题,请参考以下文章

c#程序中,关闭窗口返回参数FormClosingEventArgs e的问题

带有 C++ 的 WPF,有可能吗?

wpf和winform(C#) 有啥区别吗

winform 可以用wpf窗体吗

WPF 和.NET的关系 我想知道WPF有几个版本 他们对应的Framework又是哪个版本 单独.NET 4.0可以做WPF吗

在WPF中显示不出winform控件的原因吗