在MSDN上我已经读过,调用Application.Exit不必每次都退出。我想知道是什么原因造成的? 我的意思是什么时候我可以预期Application.Exit不会退出应用程序?
答案 0 :(得分:2)
Application.Exit将为每个打开的表单调用FormClosing,并且可以取消此事件。如果任何表单已取消此事件,Application.Exit将停止而不执行任何操作。否则所有表格将被关闭。但是,如果你有任何非后台线程工作(除主线程外),Application.Exit将无法完成你的应用程序。
答案 1 :(得分:1)
采用典型设置,VS为WinForms项目生成的默认设置。
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new YourForm());
}
如果构造函数中出现错误,现在在您的表单中
public YourForm()
{
InitializeComponent();
try
{
//do some stuff + error occurs...
//simulate error
throw new exception("blah");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
Application.Exit(); //useless
}
}
很容易认为这会杀死/退出应用程序,但是实际上会出现YourForm并且应用程序仍在运行。