我使用的是Windows Vista和C#.net 3.5,但我讓我的朋友在XP上運行該程序,並且遇到同樣的問題。C# - 爲什麼不能全屏winform應用程序總是覆蓋任務欄?
所以我有一個C#程序,我在後臺運行SystemTray中的圖標。我有一個低級別的鍵盤鉤子,所以當我按下兩個鍵(在這種情況下是Ctr + windows)時,它將拉取應用程序的主窗體。表單設置爲全屏在組合鍵中按下偶數句柄:
this.FormBorderStyle = FormBorderStyle.None;
this.WindowState = FormWindowState.Maximized;
所以它基本上可以工作。當我點擊CTR + Windows時,它會調出窗體,不管我已經關注哪個程序。但有時候,任務欄仍然會顯示在我不想要的表單上。我希望它在我點擊該組合鍵時始終處於全屏狀態。
我認爲它與最初的應用程序有什麼關係有關。但即使當我點擊我的主窗體時,任務欄有時也會停留在那裏。所以我想知道焦點是否真的是問題。看起來有時候任務欄很固執,不想坐在我的程序後面。
任何人有任何想法我可以解決這個問題?
編輯:更多詳細信息- 我試圖達到與放入全屏模式時的Web瀏覽器相同的效果,或者當您將PowerPoint放入演示模式時。
在Windows窗體中,您可以通過將邊框樣式設置爲none並最大化窗口來實現此目的。但是有時窗口由於某種原因不會覆蓋任務欄。一半的時間會。
如果我有最頂層的主窗口,其他人將落在它後面,當我點擊它時,如果任務欄被隱藏,我不需要它。
根據您的喜好更改用戶選擇的設置是不好的做法。最好找出如何使用API以正確的方式獲得你想要的行爲。 – Wedge 2008-09-22 23:42:11
該設置僅適用於窗口應用程序,而不適用於全屏應用程序。因爲當我玩遊戲或將我的網絡瀏覽器全屏時,它會掩蓋任務欄。 – Joel 2008-09-23 03:43:38