2010-07-08 37 views
13

如何從Windows窗體應用程序返回非零退出代碼。從Windows窗體應用程序退出代碼

Application.Exit()是退出應用程序的首選方式,但沒有退出代碼參數。

我知道Environment.Exit(),但是這不是一個很好的方式來關閉應用循環....

回答

27

Application.Exit只是強制調用Application.Run(這通常是program.cs)來完成。所以你可以有:

Application.Run(new MyForm()); 
Environment.Exit(0); 

並仍然在你的應用程序調用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); 
    } 
} 
+0

很好的例子,非常接近我所需要的。 – Fedearne 2010-07-08 08:54:01

+0

確保您的退出碼是正整數,否則命令提示符處的%ERRORLEVEL%會返回0代表負碼。所以在示例中,exitCode應該是uint,ExitApplication也應該是uint。 – 2011-12-20 07:22:16

+0

謝謝你,正是我需要的。 – VivekDev 2016-08-02 08:51:09

13

如果您main方法返回可以返回退出代碼中有一個值。否則,您可以使用Environment.ExitCode進行設置。

+2

+1非常快捷的方式來完成此操作。然而,我有一個非常大的應用程序,有很多可能的退出代碼和很多不同的退出方式。我將在當前的應用程序中使用VirtualBlackFox的示例。 – Fedearne 2010-07-08 08:53:09

+0

這應該是被接受的答案。 – Loudenvier 2017-09-29 13:15:20

0

轉到您的表單中的事件選項卡,並在點擊位置雙擊它,然後在代碼位置寫入Environment.Exit(0);

相關問題