當我將主窗口的可見性設置爲隱藏時,任務欄中沒有顯示任何圖標,因此我無法控制窗口再次顯示。即使隱藏了窗口,我也希望應用程序的圖標可見,並在單擊任務欄中的按鈕時顯示窗口。 (如最小化行爲)
我怎樣才能實現在C#中使用WPF和.Net 4.0?
編輯:我的意思是任務欄中的圖標(通常在水平任務欄的左側和中間)而不是系統托盤中的notifyicon。在任務欄中顯示隱藏窗口的圖標
回答
因此,基於「註釋」部分,您要做的是最小化或隱藏窗口,但仍顯示窗口打開的一些窗口或對話框。首先,如果你想保持你的窗口在任務欄,你應該儘量減少:
this.WindowState = WindowState.Minimized
這可以從窗體中的任何地方調用。正如你所提到的,雖然,這將會將
關閉
隱藏將此窗口設置爲父級的任何對話。那麼關鍵是不要使用這個窗口作爲父項。讓我們說你的對話從形式繼承。你想用:
newWindow.Show();
我猜,你在呼喚「的ShowDialog」,它關係窗口狀態父窗口的狀態。嘗試一下,希望它會有所幫助!
編輯
還要說明一點:同樣是消息框的實際情況。但要控制父窗體的方法是用MessageBox.Show()調用的第一個參數。如果您傳入一個表單作爲第一個參數,那麼這將是父級,否則父級將不會被設置。
謝謝,但實際上除了對話框之外,我在主窗口中有AvalonDock的對接管理器。當用戶最小化窗口時,所有浮動面板都被隱藏起來。所以我隱藏了窗口,而不是實際上最小化它,以防止這些浮動應用程序隱藏。有沒有比隱藏窗口更好的方法? – SepehrM
查看CodePlex上的AvalonDock代碼,它看起來像「FloatingWindow」至少從Window繼承。我的猜測是,如果你看看這些選項或者是否願意進入AvalonDock代碼,你會找到一種方法來最小化主窗口,但仍然顯示面板(現在可能是他們自己的窗口)。我上面提到的同樣的原則仍然適用。祝你好運! –
雖然有多個與此問題相關的補丁,但它們都不適合我。我仍然會研究它,看看我能否想出一個解決方案。所以沒有辦法直接控制(顯示/隱藏)任務欄圖標?我知道這篇文章,但找不到任何有用的東西:http://msdn.microsoft.com/en-us/library/ff699128.aspx – SepehrM
- 1. 任務欄進度條在隱藏窗口後不顯示
- 2. 如何隱藏窗口,但在任務欄上顯示?
- 3. Captionless wxPython的窗口隱藏任務欄
- 4. 顯示自動隱藏窗口任務欄
- 5. 從任務欄隱藏窗口
- 6. 如何在任務欄中顯示子窗口圖標
- 7. 在標題欄中隱藏圖標但不在任務欄中
- 8. 從MS窗口任務欄隱藏窗口
- 9. Win32:是否可以顯示窗口,但將其從任務欄中隱藏?
- 10. 如何在C#控制檯中隱藏任務欄窗口
- 11. 在任務欄中隱藏MATLAB圖
- 12. 在OSX finder窗口中添加顯示/隱藏隱藏文件圖標
- 13. 顯示隱藏窗口
- 14. Js:隱藏/顯示窗口
- 15. C#顯示隱藏窗口
- 16. 用WinAPI隱藏C#任務欄中的窗口
- 17. 在通知欄中顯示一個窗口服務的圖標?
- 18. Programmaticaly在Linux中隱藏/顯示窗口
- 19. 如何隱藏Windows CE任務欄並以全屏顯示程序窗口?
- 20. PyQt的 - 隱藏主窗口,並顯示了QDialog沒有任務欄圖標消失
- 21. 在頁面加載時隱藏窗口任務欄
- 22. 在托盤窗口中隱藏圖標
- 23. 從任務欄隱藏窗體2
- 24. pyqt4網頁隱藏窗口標題欄
- 25. WinfForms最大化帶邊框的窗口無隱藏任務欄
- 26. 我如何隱藏form1?我只希望窗體的圖標只會顯示在底部的任務欄中
- 27. 沒有WindowStyle和最大化窗口狀態的窗口隱藏任務欄
- 28. Windows窗體圖標不顯示在任務欄C#
- 29. 在WPF中打開窗口時的新任務欄圖標
- 30. Windows7任務欄縮略圖不顯示窗口
其中任何一種都可能有所幫助:http://social.msdn.microsoft.com/Forums/vstudio/en-US/01b6f20c-d4fb-4956-a3f6-d5e5d91bd239/wpf-menu-for-system-tray-icon ?forum = wpf或http://social.msdn.microsoft.com/Forums/vstudio/en-US/0913ae1a-7efc-4d7f-a7f7-58f112c69f66/c-application-system-tray-icon –
@SepehrM,有你嗎?只考慮使用'this.WindowState = WindowState.Minimized;'或者你真的在問托盤圖標嗎? – Yuriy
@drew_w,我的意思是任務欄圖標,而不是系統托盤中的notifyicon。 – SepehrM