在不使用Application.Exit()
的情况下,在C#中关闭应用程序的另一种方法是什么答案 0 :(得分:2)
在控制台应用中,您可以使用Environment.Exit(0)
。 0
参数表示此应用程序已结束且没有错误。显然,如果您只是正常退出,应该可能只是编码,以便正常的程序流退出Main
方法。
在Winforms中,只需使用Form.Close()
方法关闭所有表单。
答案 1 :(得分:1)
在winforms和wpf中你可以使用this.close();
答案 2 :(得分:1)
在控制台应用程序中,只需return
从Main
开始的路径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