什么是另一种方式来关闭比Application.Exit()其他应用

问题描述:

什么是另一种方式来关闭在C#应用程序,而无需使用Application.Exit()什么是另一种方式来关闭比Application.Exit()其他应用

+0

这是winforms /控制台应用程序? –

+0

@George Application.Exit()在控制台应用程序中不起作用。 –

+0

啊,谢谢乔恩。 –

我得到了我的问题解决方案。下面的代码将解决我的查询,

using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Diagnostics; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      Process.GetCurrentProcess().Kill(); 
     } 
    } 
} 

您可以在主呼叫Form.Close()Form(通过Application.Run(Form)传入的那个)。

+0

Form.Close()不会来,我把“。”后。关闭不来 –

+0

在你的主窗体上使用'this.Close()'。 –

在winforms和wpf中你可以使用this.close();

在控制台应用程序中,您可以使用Environment.Exit(0)。参数0表示此应用程序以无错误结束。显然,如果你只是正常退出,你应该应该可能只是代码,以便正常的程序流程退出Main方法。


在Winforms中,使用Form.Close()方法关闭所有窗体。

+0

哪里必须放置Form.Close()方法? –

+0

无论你想关闭表格。请注意,Form.Close()是方法,如果代码在表单内,那么您只需调用Close()方法(在由表单调用的某个方法中的某处,如事件处理程序)。 –

+0

Tbh,因为程序员太懒惰而无法使用'return',所以在应用程序中需要更多的推力是不好的。 –

Environment.Exit() //Console Application 
Form.Close() //winFroms Application 

检查这个http://geekswithblogs.net/mtreadwell/archive/2004/06/06/6123.aspx

http://discuss.joelonsoftware.com/default.asp?dotnet.12.402651.5

+0

在我的应用程序Environment.Exit()不会来。 –

+0

什么是您的应用程序类型?无论如何检查我的编辑 –

+0

Tbh,需要比应用程序更多的推力,因为程序员懒得使用返回是不好的。答案应至少与'return'配对。 (没有-1,因为OP没有提到这是否是控制台特定的) –

在控制台应用程序,只需return您通过背面和Main路径。

Environment.Exit会以潜在的破坏性方式破坏程序的流量控制,并且需要比所需更高的安全设置。想象一下,你的客户是精通技术的人,然后问你为什么你的应用需要这个和那个安全标志,你必须回答“因为我们使用Environment.Exit而不是返回。”他的下一个答案肯定是“为什么?”。你知道一个答案,他/她不能用来对付“你不能用return吗?如果你有一个不可恢复的例外,你为什么不不要catch呢?”

也许Environment.Exit()有它的位置,但我并不需要它在C#的一些年的一次。

对于Winforms,在主窗口中使用Form.Close(),它将发送一个干净的Close -event事件循环,而不会绕过正常流程。


(旁注:如果你碰巧使用C++,呼吁exit()几乎总是不正确,因为它规避整个RAII /析构的东西)