I am using VSTS 2008 + .Net 3.5 + C# to develop Windows Forms application. My confusion is, seems Application.Exit does not force application to terminate? If not, which method should I call to make application terminate?
EDIT 1:
Normally the main method is like this, how to exit Main function gracefully without calling Environment.Exit?
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
try
{
Application.Run(new Form1());
}
catch (Exception ex)
{
Console.WriteLine (ex.Message);
}
}
thanks in advance, George
The Exit method stops all running message loops on all threads and closes all windows of the application. This method does not necessarily force the application to exit. The Exit method is typically called from within a message loop, and forces Run to return.
this.Close() When a form is closed, all resources created within the object are closed and the form is disposed.
Just Close() all active/existing forms and the application should exit. ok.
Application.Exit
really just asks the message loop very gently.
If you want your app to exit, the best way is to gracefully make it out of Main
, and cleanly close any additional non-background threads.
If you want to be brutal... Environment.Exit
or Environment.FailFast
? note this is harsh - about the same as killing your own Process
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With