停止 C# 中的调试事件
本文关键字:调试 事件 停止 | 更新日期: 2023-09-27 18:37:10
当应用程序关闭时,即使调试停止,我如何或在哪里可以运行命令?
我需要在任何退出中执行命令,即使用户是开发人员并单击Visual Studio上的"停止调试"按钮。
我尝试
Application.ApplicationExit += new EventHandler(this.OnApplicationExit);
但它不起作用。也许我错了,或者不是事件。
我正在使用Winforms,而不是,在表单关闭上不能成为事件。
我使用的是Visual Studio 2005 Net Framework 2.0(根据客户要求),但仅供参考。
也许我可以重写这个吗?
public static void Exit();
问题是"停止调试"函数将完全停止应用程序 - 因此该应用程序中不再运行代码。
实现此目的的唯一方法是监视正在外部调试的进程,并在代码已停止时执行代码。
根据[MSDN]:
如果程序"停止调试"将终止正在调试的进程 是从 Visual Studio 启动的。
但是,您可以使用 Visual Studio 加载项实现所需的内容。
根据MSDN:http://msdn.microsoft.com/en-us/library/system.windows.forms.application.applicationexit%28v=vs.80%29.aspx
// Handle the ApplicationExit event to know when the application is exiting.
Application.ApplicationExit += new EventHandler(this.OnApplicationExit);
private void OnApplicationExit(object sender, EventArgs e) {
// When the application is exiting
}
这是您实施的吗?
您可以使用"挂起"和"恢复"布局。此外,如果你有一个装满东西的组合盒,它会减慢你的速度。我还会考虑进入"解决方案资源管理器",然后右键单击并选择底部的"属性"。选择"配置属性",然后选择"发布"和"调试"。这将大大缩短表单加载时间。此链接将解释
试试这个:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace Prueba {
static class Program {
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
//This is the magic line code :P
AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);
}
static void CurrentDomain_ProcessExit(object sender, EventArgs e) {
MessageBox.Show("");
}
}
}
参考资料在这里(Fredrik Mörk):.NET 控制台应用程序退出事件