捕获应用程序退出事件 - WinForms

16

当单击应用程序停止按钮时,是否可能捕获Windows窗体关闭事件?我知道应用程序停止工作,但是否有任何可用的方法在应用程序关闭时始终触发?我从谷歌上找到了这些方法,但它们都不起作用:

 AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);  
或者
  Application.ApplicationExit += new EventHandler(this.OnApplicationExit); 

在点击应用程序停止按钮时,是否可能获取关闭事件?


你是指关闭浏览器吗?你需要检查javascript的onUnload()方法或onbeforeunload()方法。 - Anuraj
ASP.Net Windows Forms是什么意思?是指在WinForms上运行的ASP.Net吗? - Anuraj
让我们看看我是否理解正确。A.) 您的程序崩溃或无响应,因此您需要使用任务管理器或其他方式关闭它,并且仍然希望在关闭之前触发事件。这是正确的吗?B.) 或者,您只是希望在程序正常结束时触发事件?"应用程序停止"按钮究竟是什么意思? - General Grey
.NET有WinForms,而ASP.NET有WebForms。 - Babu James
1个回答

25

在 Program.cs 文件中,你必须在 Application.Run 之拥有这些方法:

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
        AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);
        Application.Run(new MainForm());
    }

你也可以在主窗体(即在Application.Run方法中使用的窗体)上使用Disposed事件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接