簡體   English   中英

當我單擊子窗體中的X按鈕時如何關閉應用程序?

[英]How to close the app when I make click on X button in a child form?

我有一個帶有兩個表單的表單應用程序。 在第二種形式中,我在右角有x按鈕。 單擊此按鈕以關閉應用程序,而不僅僅是隱藏Form2窗口,該怎么做?

首先,您需要趕上事件。 為此,請在子窗體的FormClosing事件上設置一個事件處理程序。

然后有幾個選項:

  1. 使用Process.Kill()終止“蠻力”。
    這將終止該過程而不會運行任何清除代碼。 它具有類似於通過任務管理器結束流程的效果。 您可以使用Process.GetCurrentProcess獲取當前進程。 像這樣使用:

     Process.GetCurrentProcess().Kill(); 
  2. 通過使用Application.Exit()關閉所有窗口來實現“柔和”終止。
    這將關閉所有消息泵和窗口,但是會在允許正常的清除代碼運行的同時這樣做。 但是,它不能保證該過程將終止,例如,如果在消息循環完成后一個前線程仍處於活動狀態。 像這樣使用:

     Application.Exit(); 
  3. 將意圖傳達給主線程。
    這是一個設計解決方案,而不是您放置在某處的“代碼行”。 這個想法是(2個表單中的2個)類具有某種通信機制(通過消息,事件或您認為合適並且可能已經使用的任何東西),並且子表單通知用戶希望退出應用程序的父表單。 然后由主要表單清理所有內容,關閉所有表單(自身和其他表單),然后正常退出該過程。 這是最干凈,首選的方法,但是需要適當的設計和更多的代碼。

如果您使用表格,最簡單的使用

this.Close(); or  Application.Exit();

暫無
暫無

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

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