2010-01-11 82 views
1

我想使表單默認爲不可見。當用戶雙擊托盤圖標時,它應該是可見的,顯示來自數據庫的數據。我如何在C#中做這樣的事情。 我製作了系統托盤圖標,但是當我運行一個項目時,它也顯示了我的空白值。 在此先感謝。C#如何通過雙擊托盤圖標啓用表單

我的托盤圖標位於同一窗體中。

+0

您是使用WinForms還是WPF? – 2010-01-11 11:18:01

+0

可能的重複 - http://stackoverflow.com/questions/995195/writing-a-windows-system-tray-application-with-net,http://stackoverflow.com/questions/158895/how-to-make-一個 - 窗口形式淨應用顯示-AS-托盤圖標 – ChrisF 2010-01-11 11:19:51

回答

0

我假設您使用WindowsForms並使用NotifyIcon類創建了托盤圖標。在設計器中將您的窗體Visible屬性設置爲False。這將導致窗體開始隱藏。

然後在您的托盤圖標中單擊og DoubleClick事件處理程序將True的Visible屬性設置爲顯示它。或者,您可以在此創建一個新的窗體類實例並顯示該窗體。

2

修補Visible屬性不起作用,Application類強制它,以便表單正確初始化自己。但是,您可以重寫SetVisibleCore()以自定義行爲。將此代碼粘貼到您的表單中:

bool mLoaded; 

protected override void SetVisibleCore(bool value) { 
    if (value && !mLoaded) { 
    this.CreateHandle(); // Ensure the Load event runs 
    value = false;   // Keep invisible 
    mLoaded = true; 
    } 
    base.SetVisibleCore(value); 
}