为了账号安全,请及时绑定邮箱和手机立即绑定

如何以编程方式退出WPF应用程序?

如何以编程方式退出WPF应用程序?

慕村9548890 2019-10-15 09:18:39
几年来,我一直在使用C#(Windows窗体),但从未使用过WPF。但是,现在我喜欢WPF,但是当用户单击“文件”菜单中的“退出”菜单项时,我不知道如何退出应用程序。我努力了:this.Dispose();this.Exit();Application.ShutDown();Application.Exit();Application.Dispose();除其他外。没用。
查看完整描述

3 回答

?
开满天机

TA贡献1786条经验 获得超13个赞

要退出您的应用程序,您可以致电


System.Windows.Application.Current.Shutdown();

如该Application.Shutdown方法的文档中所述,您还可以通过指定ShutdownMode来修改应用程序的关闭行为:


在以下情况下,Windows Presentation Foundation(WPF)隐式调用Shutdown:


当ShutdownMode设置为OnLastWindowClose时。

当ShutdownMode设置为OnMainWindowClose时。

当用户结束会话并且SessionEnding事件未处理或已处理而没有取消时。

另请注意,Application.Current.Shutdown();只能从创建Application对象的线程(通常是主线程)中调用。


查看完整回答
反对 回复 2019-10-15
?
墨色风雨

TA贡献1853条经验 获得超6个赞

如果确实需要关闭它,则也可以使用Environment.Exit(),但它一点都不优雅(更像是结束进程)。


如下使用它:


Environment.Exit(0)


查看完整回答
反对 回复 2019-10-15
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

Application.Current.Shutdown();是不可逆的,我相信它通常用于强制应用程序在诸如用户注销或关闭Windows时关闭。


而是this.close()在主窗口中调用。这与在窗口上按Alt+ F4或关闭[x]按钮相同。Application.Current.Shutdown();只要未取消关闭操作,这将导致所有其他拥有的窗口关闭,并且最终将调用。请参阅有关关闭窗口的MSDN文档。


另外,由于this.close()可以取消,因此可以在关闭事件处理程序中放入保存更改确认对话框。只需为其创建一个事件处理程序<Window Closing="...">并e.Cancel相应地进行更改。

查看完整回答
反对 回复 2019-10-15
  • 3 回答
  • 0 关注
  • 1231 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信