如何捕获退出 Winforms 应用程序的事件?

2024-06-22

如果用户想通过单击退出图标或按 ALT+F4 退出应用程序,我想创建一个对话框,询问用户是否确实确定要退出。

如何在应用程序实际关闭之前捕获此事件?


查看关闭时 http://msdn.microsoft.com/en-us/library/system.windows.forms.form.onclosing.aspx表单的事件。

以下是该链接的摘录,实际检查文本字段上的更改并提示保存:

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
   // Determine if text has changed in the textbox by comparing to original text.
   if (textBox1.Text != strMyOriginalText)
   {
      // Display a MsgBox asking the user to save changes or abort.
      if(MessageBox.Show("Do you want to save changes to your text?", "My Application",
         MessageBoxButtons.YesNo) ==  DialogResult.Yes)
      {
         // Cancel the Closing event from closing the form.
         e.Cancel = true;
         // Call method to save file...
      }
   }
}

您可以更改文本以满足您的需要,然后我认为您可能想要切换DialogResult.Yes to DialogResult.No根据您的文字。


这是一些专门为您修改的代码:

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
   if(MessageBox.Show("Are you sure you want to quit?", "My Application", MessageBoxButtons.YesNo) ==  DialogResult.No)
   {
      e.Cancel = true;
   }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何捕获退出 Winforms 应用程序的事件? 的相关文章

  • 在子目录中构建共享库

    我正在尝试构建一个使用一些 C 代码的 R 包 我有一个编译为可执行文件的 C 库 可以从命令行调用 有一个与之关联的 Makefile 我正在尝试获取信息here http cran r project org doc manuals R
  • 使用索引避免迭代器失效,维护干净的接口

    我创建了一个MemoryManager
  • 如何将 CroppedBitmap 转换为 BitmapImage

    我正在尝试将 CroppedBitmap 转换为 BitmapImage 编辑 不使用内存流 我尝试过直接转换它 似乎这不是一个选择 这应该没那么难 我正在尝试剪切 BitmapImage 的一部分 并创建一个仅包含新裁剪的 Bitmap
  • 如何从 std::vector 中删除元素而不调整其大小

    迭代器擦除 迭代器位置 迭代器擦除 首先是迭代器 迭代器最后 擦除元素 从向量中删除 容器可以是单个元素 位置 或一系列元素 第一个 最后一个 这有效地减少了向量 大小除以元素数量 删除 调用每个元素的 之前的析构函数 and remove
  • 指向指针的指针和指向二维数组的指针之间的区别

    如果我有一个二维数组 B 定义为 int B 2 3 1 3 5 2 4 6 Is int p B与 一样int p 3 B int f B printf d f 1 gives 5作为输出 同时printf d f 给出 1 作为答案 为
  • C# Visual Studio 动态代码片段

    我正在开发一个 WinForms 项目 每天都会执行一些重复性的任务 所以我认为创建代码片段 https msdn microsoft com en us library ms165394 v vs 110 aspx会帮助我 但它仅适用于固
  • 多态性中基类缺少虚拟析构函数 = 资源泄漏?

    我们知道 如果要多态地使用基类 则需要将基类的析构函数指定为 virtual 否则程序中可能会出现资源泄漏 因为只会调用基类析构函数 而不会调用派生对象析构函数 我们还知道构造函数 析构函数纯粹是初始化 未初始化构造 而operator n
  • 将标准库添加到C++ eclipse项目中

    一个 非常 新手 C 问题 有没有办法自动将标准库添加到 C eclipse 项目中 我安装了 CDT 主要功能插件 您可以手动添加 STL 标头的路径路径和符号 gt 包含选项卡 http help eclipse org galileo
  • 在 C/C++ 中绘制填充椭圆的简单算法

    在SO上 找到了以下绘制实心圆的简单算法 for int y radius y lt radius y for int x radius x lt radius x if x x y y lt radius radius setpixel
  • 如何将 QSerialPort 模块添加到 CMake 中?

    我想将 QSerialPort 模块添加到 CMake 中 根据我的理解 我需要将QT 串口添加到 pro中 我只想使用 CMake 所以我尝试编译简单的 CMake 文件 但有错误 QtCore 正在工作 qDebug 可以毫无问题地显示
  • 有没有更快的方法来获取卷序列号?

    您好 我正在使用此代码来生成机器签名 但执行起来需要相当长的时间 想知道为什么这么慢 有什么更快的方法推荐吗 Public Shared Function DriveSN ByVal DriveLetter As String As Str
  • 用于 C/C++ 的独立跨平台 (Windows/Linux) 文件压缩?

    我正在寻找一个 最好是小的 C 或 C 开源库 我可以将其包含在我的 MIT 许可项目中 托管在 google 代码上 我是一名业余爱好 C C 程序员 所以我并不那么先进 但我只知道为名为 SA MP 的应用程序 适用于 Windows
  • 如果 .txt 文件不存在,则创建一个,如果存在则追加新行

    我想创建一个 txt 文件并写入它 如果该文件已经存在 我只想添加更多行 string path E AppServ Example txt if File Exists path File Create path TextWriter t
  • 如何在 WCF 中反序列化自定义 SOAP 标头?

    我正在尝试向通过 WCF 的所有 SOAP 请求添加自定义标头 我发现这篇精彩的文章 http blogs msdn com b mohamedg archive 2012 10 21 adding custom soap headers
  • 如何让 PCRE 与 C++ 一起使用?

    这是一个新手问题 但我希望我能尽可能清楚地表达我的问题 我正在尝试用 C 进行模式匹配 我已经从以下位置下载了 PCRE 的 Win32 版本here http gnuwin32 sourceforge net packages pcre
  • 内存不足异常

    我正在使用 C 和 asp net 开发一个网络应用程序 我一直收到内存不足的异常 该应用程序的作用是从数据源读取一堆记录 产品 可能是数百 数千 通过向导中的设置处理这些记录 然后使用处理的产品信息更新不同的数据源 虽然有多个 DB 类
  • 实体框架中的导航属性是什么

    我是实体框架的新手 当Visual Studio创建模型图时我们主要可以看到Entities Propertie和Navigation Properties这两个东西 那么这些Navigation Properties是什么 如何使用它们
  • 如何通过 Excel 互操作对象自动调整列大小?

    下面是我用来将数据加载到 Excel 工作表中的代码 但我希望在加载数据后自动调整列的大小 有谁知道自动调整列大小的最佳方法 using Microsoft Office Interop public class ExportReport
  • 使用反射检测属性的访问修饰符类型

    我编写了一些代码来使用反射查看属性 我已经使用反射从类中检索了属性列表 但是我需要查明该财产是公共的还是受保护的 例如 public string Name get set protected int Age get set Propert
  • 自动化 WinDBG 或以其他方式从转储文件中提取信息?

    假设我有一个进程的内存转储 我想对其运行报告 所以本质上我想打开 WinDBG 加载 SOS 并运行一个脚本 该脚本运行一些命令 解析输出 然后基于该结果运行更多命令 除了像 SendKeys 这样的黑客行为之外 还有没有办法自动化 脚本化

随机推荐

  • 仅接受一种文件类型

    from tkinter import filedialog as fd filename fd askopenfilename title Select file filetypes CSV Files csv All 打开文件夹以选择文
  • 如何从命令行(没有 Maven/Gradle)启动 JUnit 5(平台)?

    我想从命令行运行一个包含 JUnit 5 测试的类 不幸的是 我有一些外部依赖项阻止我使用 Maven Gradle 或其他构建系统 在 JUnit 4 中 我可以像这样完成这个任务 java lib org junit runner JU
  • 如何从 .net 控制台应用程序调用 HTTPS Web 服务方法?

    我有一个 ASP net Web 应用程序 它坐落于https www example com Private https www example com Private 我想创建一个 net 控制台应用程序 该应用程序在我的 ASP ne
  • 我想从 GSM 网络获取时间

    我正在使用这个代码 但它通过 wifi 给出时间 当我关闭 wifi 时 它没有给我时间 我想从 GSM 服务提供商处获取时间 我正在使用的代码 LocationManager locMan LocationManager arg0 get
  • Azure 存储模拟器无法连接到 LocalDB

    我的 Azure 存储模拟器有问题 它拒绝连接到 LocalDb 在我使用命名管道创建 ODBC 连接之前 它曾经工作得很好 发生了什么 我需要从 Mathematica 访问数据库中的数据 因此我生成了一个 ODBC 连接 ODBC 无法
  • valgrind 错误和 ucontext。为什么“使用大小为 8 的未初始化值”?

    我一直试图理解为什么 valgrind 对于这个使用 ucontexts 的小型测试程序抱怨 使用大小为 8 的未初始化值 它基本上是一个创建 n ucs ucontexts 并切换它们 max switch 次的程序 我理解 警告 客户端
  • 以编程方式获取 iPhone 的运营商信号强度

    有没有办法使用 Objective C 获取 iPhone 的运营商和 或当前信号强度 我知道如何确定是否存在数据连接 以及该连接是 Wi Fi 还是蜂窝连接 我还知道您可以手动将 iPhone 置于 现场测试 模式 方法是转到手机应用程序
  • 更改警报对话框的文本颜色

    我的应用程序中有一个用于下载音频指令的弹出窗口 我想做的是将 确定 的默认文本颜色更改为蓝色 我尝试了一些东西 但它不起作用 这是我的代码 private void showDownloadPgmPopup android app Aler
  • 如何使用 RedirectToAction 方法添加查询字符串值?

    在 asp net mvc 中 我使用以下代码 RedirectToAction myActionName 我想通过查询字符串传递一些值 我该怎么做 传递的不属于路由一部分的任何值都将用作查询字符串参数 return this Redire
  • Psycopg2:“模块”对象没有属性“连接”[重复]

    这个问题在这里已经有答案了 我正在尝试使用 psycopg2 连接到 postgres 数据库 import psycopg2 try conn psycopg2 connect dbname puppetdb user puppetdb
  • Python——发现它!牌

    我正在尝试模拟 Spot it 的牌组 使用 Python 制作卡片 对于那些不知道什么是 Spot it 的人这是一种流行的纸牌游戏 一副牌中有 55 张牌 每张牌上有 8 个随机符号 例如球 波浪等 每张牌都有 1 个与其他牌相同的符号
  • C#:如何获取字符串的第一个字符?

    第一个可以吗char通过执行以下操作可以检索字符串的 MyString ToCharArray 0 Just MyString 0 这使用了字符串 字符 http msdn microsoft com en us library syste
  • Java 中的泛型枚举

    我有一个基本的 Configuration 类 它在枚举中提供所有可能的键和相应值类型的类型 如下所示 public class Configuration public static enum Key FIRST KEY actual k
  • 如何在 Safari 中打开外部链接而不是应用程序的 UIWebView?

    我有一个Phonegap cordova 应用程序 我想在phonegap WebView中加载一些外部网页 并且我还有其他外部网页 我想在用户激活它们时在Safari中加载它们 通常 大多数人都会遇到想要在 WebView 中打开外部链接
  • Chrome DevTools 网络瀑布 - 请求之间的差距?

    我一直在对运行缓慢的 Web 应用程序进行一些重构 并设法减少请求数量和下载大小 以帮助改善这种情况 现在加载时间持续缩短 然而 在最后两个请求之前几乎没有经过任何时间 现在始终存在差距 问题 1 Chrome 网络视图中的这些 间隙 表示
  • 如何在主屏幕等视图之间切换

    如何在多个之间切换UIView正在使用一个UIViewController就像 iPhone 主屏幕一样 如果您需要澄清 请询问 请不要拒绝 使用 UIScrollView this http developer apple com iph
  • 使用 JavaScript 更改元素的 `innerHTML`

    好的 我是 JavaScript 新手 但我正在尝试更改innerHTML of a div元素 这是我的脚本不起作用 div change div 它应该可以工作 但由于某种原因没有 有什么帮助吗 而不是分配var1 to window
  • 如何通过 Get-AzureRmAppServicePlan 检索workerSize

    通过 Azure PowerShell cmdlet 创建新的 AppServicePlan 时New AzureRmAppServicePlan 预计我会添加一个WorkerSize例如小号 中号或大号 例如 appServicePlan
  • 使用前置摄像头拍摄图像,无需在android中打开相机应用程序[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想使用 Android 手机的前置
  • 如何捕获退出 Winforms 应用程序的事件?

    如果用户想通过单击退出图标或按 ALT F4 退出应用程序 我想创建一个对话框 询问用户是否确实确定要退出 如何在应用程序实际关闭之前捕获此事件 查看关闭时 http msdn microsoft com en us library sys