簡體   English   中英

如何使Windows窗體的關閉按鈕不關閉窗體但使其不可見?

[英]How do I make the close button of a Windows Form not close the form but make it invisible?

此表單具有NotifyIcon對象。 當用戶單擊“關閉”按鈕時,我希望表單不要關閉但是變得不可見。 然后,如果用戶想要再次看到該表單,他可以雙擊系統托盤中的圖標。 如果用戶想要關閉表單,他可以右鍵單擊該圖標並選擇“關閉”。

有人能告訴我如何使關閉按鈕不關閉表單但讓它隱形嗎?

(或者,如果有人能夠想出一種更好的方法來實現同樣的目標)

首先,您要處理Main表單的.FormClosing事件(或通過覆蓋OnFormClosing方法)。 通過將e.Cancel設置為true來取消該操作。

然后,使用NotifyIcon將圖標添加到系統托盤。

最后,通過調用.Hide()隱藏表單。

protected override void OnFormClosing(FormClosingEventArgs e) {
    if (IActuallyWantToCloseFlag)
        return;

    var ni = new NotifyIcon(this.components)
    {
        Icon = someIcon,
        Text = "My text",
        Visible = true
    };
    ni.DoubleClick += (sender, args) => { this.Show(); };

    this.Hide();
    e.Cancel = true;
}

這應該讓你開始。 您可能希望將ni設為成員變量,以便在顯示/隱藏表單時可以繼續隱藏/顯示圖標。

您可以嘗試將其設為托盤圖標應用。 這里有一個很好的教程: http//www.developer.com/net/net/article.php/3336751/C-Tip-Placing-Your-C-Application-in-the-System-Tray.htm

實現所需內容的最簡單方法是訂閱FormClosing事件並通過包含此類代碼設置可見的false:

FormClosing += (sender, args) => { args.Cancel = true; Visible = false; };

暫無
暫無

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

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