首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C# WinForm 從子視窗關閉整個應用程式

     編輯:程式設計疑難解答

一行代碼解決

Application.Exit();

原理

  • 引發 FormClosing → FormClosed 事件鏈,依序關閉所有開啟的 Form。
  • 執行 Program.Main 中 Application.Run(mainForm) 之後的代碼(通常為無),進程正常退出。

對比

方法行為適用場景
Application.Exit()觸發所有 Form Closing 事件,釋放資源,正常退出標準 WinForm 應用
Environment.Exit(0)直接終止進程,**不觸發** Form Closing/Disposing緊急退出、Console 應用
Process.GetCurrentProcess().Kill()暴力殺掉進程,資源可能洩漏極端情況(死鎖、無響應)
this.Close() (在主視窗)關閉主視窗,若為啟動視窗則等同 Application.Exit()主視窗關閉按鈕

最佳實踐

在子視窗按鈕點擊事件中直接呼叫 Application.Exit(),無需傳遞主視窗引用、無需迴圈關閉集合。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved