繁体   English   中英

以编程方式关闭 C# WPF 应用程序的首选方法是什么?

[英]What is the preferred method of programmatically closing a C# WPF Application?

关闭 C# WPF 应用程序的首选方法是哪种?

1) 在主 Window 内调用 Window.Close()

2) 在主 Window 内调用 Application.Current.Shutdown(0)。

两者在语义上是等价的还是我需要注意的细微区别?

第一个仅关闭 window,具体取决于您的Application.ShutdownMode ,它甚至可能不会关闭应用程序。

如何退出应用程序仅取决于您想要做什么,我倾向于定义Application.MainWindow并将ShutdownMode设置为OnMainWindowClose ,因此所有小对话框都不会阻止应用程序关闭(因为默认值为OnLastWindowClose )。

肯定Window.Close(); 这将使所有其他 windows 能够正确关闭并最终确定其可支配资源。 请注意,您应该在主 window 上调用它来关闭整个应用程序(即this.Close();从主窗口)。

Application.Shutdown关闭所有打开的 windows 并处理它们,您也可以返回另一个退出代码。 所以我(通常)会使用 go 和Application.Shutdown

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM