在開始時將WinForm 應用程式最小化到托盤
問題
應用程式可以最小化到托盤很簡單。但是,嘗試以最小化狀態啟動應用程式會導致應用程式出現在 alt-tab 對話方塊中,其標題列偶爾可見。解決方案
為了防止為了防止應用程式在啟動時可見,可以重寫 SetVisibleCore() 方法。這涉及:protected override void SetVisibleCore(bool value) { if (!allowVisible) { value = false; if (!this.IsHandleCreated) CreateHandle(); } base.SetVisibleCore(value); }這裡,allowVisible 是一個標誌集,用於指示應用程式何時應該可見(例如,當使用者點擊 NotifyIcon 上下文選單中的「顯示」時)。如果allowVisible 為 false,則 value 參數設為 false 以防止表單可見。但是,如果表單的句柄尚未創建,則必須在將值設為 false 之前建立它。 此外,為了防止使用者雙擊工作列圖示時應用程式關閉,可以使用OnFormClosing 方法override:
protected override void OnFormClosing(FormClosingEventArgs e) { if (!allowClose) { this.Hide(); e.Cancel = true; } base.OnFormClosing(e); }這裡,allowClose 是一個標誌,用於指示何時應關閉應用程式(例如,當使用者點擊NotifyIcon 上下文選單中的「退出」)。如果allowClose為 false,則隱藏表單,並將 e.Cancel 屬性設為 true 以防止應用程式關閉。
附加說明
的 Load 事件在首次顯示該窗體之前,主窗體不會觸發。因此,任何初始化都應該在表單的建構函式中完成,而不是在 Load 事件處理程序中完成。以上是如何確保WinForm應用程式啟動時最小化到系統托盤而不意外顯示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!