当用户点击文件菜单中的退出菜单项时,应该如何退出应用程序?

我试过:

this.Dispose();
this.Exit();
Application.ShutDown();
Application.Exit();
Application.Dispose();

在许多其他方面.什么都不管用.

推荐答案

要退出应用程序,您可以调用

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

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

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

  • 当关机模式设置为OnLastWindowClose时.
  • 当ShutdownMode设置为OnMainWindowClose时.
  • 当用户结束会话,而SessionEnding事件未经处理或未经取消处理时.

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

.net相关问答推荐

.NET Blazor-使用子组件中的处理程序方法进行双向数据绑定

.NET模拟具有泛型返回类型的方法

.NET Core 中的微服务

Msbuild try 构建 msbuild.exe 而不是我的 .csproj 文件

F#:跨度、提升和底部类型(或缺乏)

正则表达式在空格上拆分,除非在引号中

如何在 MSBuild 脚本中获取当前目录?

将笔画应用于 WPF 中的文本块

无法加载文件或程序集WebGrease,版本=1.5.1.25624,Culture=neutral,PublicKeyToken=31bf3856ad364e35或其依赖项之一

Await 运算符只能在 Async 方法中使用

将 C# 编译为本机?

将 StreamReader 返回到开头

析构函数、dispose 和 finalize 方法的区别

如何对 LINQ to XML 中的元素进行深层复制?

风格上的差异:IDictionary vs Dictionary

一个接口是否应该继承另一个接口

如何比较泛型类型的值?

MailMessage,Sender 和 From 属性的区别

.NET 中的 java.lang.IllegalStateException?

如何将 VB 项目转换为 C# 项目