C# WinForms应用程序。退出不一定要退出应用程序
在MSDN上,我读到了调用应用程序。退出并不一定每次都要退出。我想知道是什么原因造成的?C# WinForms应用程序。退出不一定要退出应用程序,c#,.net,winforms,C#,.net,Winforms,在MSDN上,我读到了调用应用程序。退出并不一定每次都要退出。我想知道是什么原因造成的? 我的意思是当我可以预期该应用程序时。退出将不会退出该应用程序?Application.Exit将为每个打开的表单调用FormClosing,并且此事件可以取消。如果任何表单已取消此事件,则Application.Exit将停止而不执行任何操作。否则所有表格将关闭。但是,如果有任何非后台线程在工作(除了主线程),则应用程序将无法完成应用程序。退出。application.Exit将为每个打开的表单调用Form
我的意思是当我可以预期该应用程序时。退出将不会退出该应用程序?Application.Exit将为每个打开的表单调用FormClosing,并且此事件可以取消。如果任何表单已取消此事件,则Application.Exit将停止而不执行任何操作。否则所有表格将关闭。但是,如果有任何非后台线程在工作(除了主线程),则应用程序将无法完成应用程序。退出。application.Exit将为每个打开的表单调用FormClosing,并且可以取消此事件。如果任何表单已取消此事件,则Application.Exit将停止而不执行任何操作。否则所有表格将关闭。但是,如果有任何非后台线程在工作(除了主线程),应用程序将无法完成。退出。采用典型设置,即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
}
}
很容易认为这会终止/退出应用程序,但实际上您的表单会出现,并且应用程序仍在运行。采用典型的设置,这是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
}
}
很容易认为这会终止/退出应用程序,但实际上您的表单会出现,并且应用程序仍在运行。您可能会从这个问题中获得更多信息:您可能会从这个问题中获得更多信息: