【问题标题】:Capturing Application exit event - WinForms捕获应用程序退出事件 - WinForms
【发布时间】:2012-05-14 07:58:01
【问题描述】:

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

 AppDomain.CurrentDomain.ProcessExit += new EventHandler(CurrentDomain_ProcessExit);  

  Application.ApplicationExit += new EventHandler(this.OnApplicationExit); 

点击应用程序停止按钮时是否可以获得关闭事件?

【问题讨论】:

  • 你的意思是关闭浏览器?您需要检查 javascript onUnload method() 或 onbeforeunload() 方法。
  • asp.net windows 窗体是什么意思? ASP.Net 在 WinForms 上运行?
  • 让我们看看我是否直截了当。 A.)您的程序崩溃或没有响应,因此您必须使用任务管理器或其他工具将其关闭,并且您仍然希望事件在关闭之前触发。它是否正确。或 B.) 您是否只想在程序正常结束时触发一个事件?什么,究竟是应用程序停止按钮?
  • .NET 有 WinForms 而 ASP.NET 有 WebForms

标签: c# winforms


【解决方案1】:

在 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());
    }

您还可以在 MainForm(Application.Run 方法中使用的表单)上使用 Disposed 事件。

【讨论】:

    猜你喜欢
    • 2011-12-30
    • 2012-01-20
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多