从Windows窗体应用程序退出代码

Fed*_*rne 16 .net c# winforms

如何从Windows窗体应用程序返回非零退出代码.

Application.Exit()是退出应用程序的首选方法,但没有退出代码参数.

我知道Environment.Exit(),但这不是关闭应用程序循环的好方法....

Jul*_*lia 28

Application.Exit只需强制调用Application.Run(通常是program.cs)即可完成.所以你可以:

Application.Run(new MyForm());
Environment.Exit(0);
Run Code Online (Sandbox Code Playgroud)

仍然在你的应用程序调用Application.Exit中关闭它.

小样本

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);
    } 
}
Run Code Online (Sandbox Code Playgroud)


Han*_*son 15

如果您的main方法返回一个值,您可以在那里返回退出代码.否则,您可以使用Environment.ExitCode进行设置.

  • +1快速完成此任务的方法.然而,我有一个非常大的应用程序,有很多可能的退出代码和很多不同的退出方式.我将在当前的应用程序中使用VirtualBlackFox的示例. (2认同)