[英]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.