C# – Application.Exit


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?


Normally the main method is like this, how to exit Main function gracefully without calling Environment.Exit?

    static void Main()
            Application.Run(new Form1());
        catch (Exception ex)
            Console.WriteLine (ex.Message);

thanks in advance,

Best Solution

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.