退出按钮不起作用 - C#

时间:2016-10-23 05:15:33

标签: c# button

我正致力于创建文件管理程序。我的左上角有一个文件按钮,下拉菜单有一个退出按钮。以下是一段代码:

    private void  exitToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Application.Exit();
    }

我已经尝试了各种不同的命令来退出程序,但到目前为止还没有任何工作。这似乎是一个非常简单的代码,我完全按照多个网站的说明。如果你能给我任何关于我为什么遇到这个问题的想法,我将不胜感激。我正在使用Visual Studio Express 2013。

3 个答案:

答案 0 :(得分:1)

如果是WPF应用程序,请使用

Application.Current.Shutdown();

答案 1 :(得分:0)

您可以通过检查System.Windows.Forms.Application.MessageLoop属性来确定是否已调用System.Windows.Forms.Application.Run。如果为true,则调用Run,您可以假设WinForms应用程序正在执行如下。

If (System.Windows.Forms.Application.MessageLoop)
{
   // Use this since we are a WinForms app
   System.Windows.Forms.Application.Exit()
}
Else
{
   // Use this since we are a console app
   System.Environment.Exit(1)
}

参见:http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx

OR

Environment.Exit(0);

答案 2 :(得分:0)

正确的方法是Application.Exit()。它终止所有消息循环并关闭所有窗口,从而使您的表单可以执行其清理代码(在Form.OnClose等)。

Environment.Exit会杀死这个过程。如果某种形式有例如未保存的更改,它将没有任何机会询问用户该人是否要保存它们。此外,无法正确释放资源(数据库连接等),文件可能无法刷新等。

如果使用多线程,Application.Exit()将不会终止您的线程(因此即使GUI终止,应用程序也将继续在后台运行)。因此,您必须采取措施在主函数(即Program.Main())或主表单的OnClose事件中杀死您的主题。