簡體   English   中英

WinForms Application.Exit不一定退出應用程序

[英]WinForms Application.Exit does not exit the app necessarily

在MSDN上,我讀到調用Application.Exit不必每次都退出。 我想知道是什么原因造成的? 我的意思是什么時候可以期望Application.Exit不會退出該應用程序?

Application.Exit將為每個打開的窗體調用FormClosing,並且可以取消此事件。 如果有任何形式取消了此事件,Application.Exit將停止而不進行任何操作。 否則所有表格將關閉。 但是,如果您有任何非后台線程在工作(除主線程之外),您的應用程序將不會由Application.Exit完成。

進行典型設置,這是VS為WinForms項目生成的默認設置。

static void Main()
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new YourForm());
}

現在在表單中,如果構造函數中發生錯誤,

public YourForm()
{
    InitializeComponent();

    try
    {
       //do some stuff + error occurs...

       //simulate error
       throw new exception("blah");

    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());                 
        Application.Exit(); //useless 
    }
}

很容易想到這會終止/退出應用程序,但是YourForm實際上會出現並且該應用程序仍在運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM