关闭Application.Exit()以外的应用程序的另一种方法是什么

时间:2011-08-25 08:47:29

标签: c#

在不使用Application.Exit()

的情况下,在C#中关闭应用程序的另一种方法是什么

6 个答案:

答案 0 :(得分:2)

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


在Winforms中,只需使用Form.Close()方法关闭所有表单。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

在控制台应用程序中,只需returnMain开始的路径Environment.Exit

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

也许Form.Close()有它的位置,但在C#的某些年里我不需要一次。

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


(旁注:如果你碰巧使用C ++,那么调用{{1}}几乎总是不正确的,因为它绕过了整个RAII /析构函数)

答案 3 :(得分:1)

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

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

答案 4 :(得分:0)

您可以在主要Form.Close()(通过Form传递的那个)上致电Application.Run(Form)

答案 5 :(得分:0)

 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