Application.Exit(); // 通知所有消息泵必須終止,並且在處理了消息以后關閉所有應用程序窗口。 // 由 .NET Compact Framework 支持。 Form.Close(); //關閉窗口(主程序還沒有退去)
要點:
1.程序從Application.Run(new Form1)開始,到Application.Exit()結束,銷毀窗體,回收資源。 這之中,如果你打開了1個窗體,兩個語句就是一樣,如果打開多個,比如你Form1里又開了form2,form3等等,那么,你除了Application.Run()參數以外的實例,執行close就是關閉那個窗體,程序不退出,Application.Exit就是關閉包括窗口在內的整個程序。
2.要退出程序,並且不是在主窗口退出,用Application.Exit();
如果是主窗口,可以直接用this.Close();
3.Form.Close(); 是關閉當前窗口,如果只有一個窗口或者是MDI里面的主窗口則是退出程序,是一種安全式 ,而 Application.Exit();則是強制結束進程,有時必須要采用這個退出才有效,比如線程鎖住的時候, 一般情況下我認為用form.close()是不錯的方法。
4. 在顯示為無模式窗口的 Form 上調用 Close 方法時,不能調用 Show 方法使窗體可見,因為窗體的資源已被釋放。若要隱藏窗體然后又使其可見,請使用 Control.Hide 方法。
5.當調用 Application.Exit 方法以退出應用程序時,不引發 Form.Closed 和 Form.Closing 事件。如果在必須執行的其中一個事件中有驗證代碼,則在調用 Exit 方法之前,應分別為每個打開的窗體調用 Form.Close 方法。
