How do i return a non-zero exit code from a Windows Forms application.
Application.Exit() is the preferred way to exit the application, but there is no exit code argument.
I know about Environment.Exit(), but that is not a nice way to close the application loop....
The proper method would be Application. Exit() .
Just Close() all active/existing forms and the application should exit. ok.
Application.Exit
just force the call to Application.Run
(That is typically in program.cs
) to finish. so you could have :
Application.Run(new MyForm());
Environment.Exit(0);
and still inside your application call Application.Exit
to close it.
Small sample
class Program
{
static int exitCode = 0;
public static void ExitApplication(int exitCode)
{
Program.exitCode = exitCode;
Application.Exit();
}
public int Main()
{
Application.Run(new MainForm());
return exitCode;
}
}
class MainForm : Form
{
public MainForm()
{
Program.ExitApplication(42);
}
}
If your main
method returns a value you can return the exit code there. Otherwise you can use Environment.ExitCode to set it.
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