[英]How to make a manually created button invisible after it is clicked in Windows Form?
[英]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.