2010-08-25 72 views
3

我的意思是退出到系統托盤,而不是最小化到系統托盤,即當您單擊Windows窗體右上角的「紅色十字」而不是應用程序關閉時,它會在系統托盤中運行。如何讓Windows窗體退出到系統托盤?

+0

我看到你問兩種方式,一種你說你想讓它退出,因爲在這個過程中不再運行。另一個,你希望它在系統托盤中運行。根據你實際需要(你不能同時擁有),我的答案或ajay_whiz/Dave的答案可能是正確的 – 2010-08-25 08:11:18

回答

3

你可以連接到窗體關閉事件並取消關閉事件和隱藏表單

示例代碼

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
     { 
      e.Cancel = true; 
      this.Hide(); 
     } 
2

處理了的FormClosing事件,阻止關閉(e.Cancel = true),而是minimize to the system tray,你會如果你是,那麼,minimizing to the system tray

當然,您必須有一個條件,在該條件下關閉表單不會最小化系統托盤。例如,跟蹤狀態以及表單是否已經最小化,然後允許表單實際關閉。

1

無法「退出」到系統托盤,必須運行帶有消息隊列的進程以允許圖標出現在托盤中並正常工作(例如,當您將鼠標懸停在其上時不會消失)

adobe和其他人處理這種情況的方式是,有一個單獨的應用程序,它只是執行系統托盤圖標,當您單擊它並且您的應用程序沒有運行時,它會啓動它,如果應用程序已經運行,它將它帶到前景。