1. 程式人生 > >C# 實現Winform全屏後不遮擋工作列,顯示工作列

C# 實現Winform全屏後不遮擋工作列,顯示工作列

最近在忙中抽閒,看我的桌面太過死了,不生動,不可愛=。=。。
然後默默的想寫一個動態桌面的一個小東西活潑一下。。。
隨後拿起來了N久不碰的C#(本人C#渣,不,應該說什麼都渣。。。)
結果在winform全屏化的時候,遮擋了下面的工作列;這樣的話體驗性就不好了,這幾天找了n多方法,一搜某度,發現都是。。。2013年左右的資料。。。簡直,唔,還有。。。都是xp系統的測試。。。真是有意思。雖然說我現在用的是win7吧。。。那是我懶得升級=。=。。不過win7和win10,也不像xp跟win7的那樣跨度吧=。=。。
我也不懂是不是我的搜尋技術不達標,不過我搜索出來的都是說:

this.TopMost
= true; this.FormBorderStyle = FormBorderStyle.None; this.WindowState = FormWindowState.Maximized;

唔。。。不行。。。
或說你的FormBorderStyle 不要為none。。。我直接感覺無話可說。。
隨後又有人說嘗試呼叫api的那個show什麼,忘記了。。。(|||||=.=)

最開始本來說直接嵌入桌面的,把winform、、結果發現xp,vist之後的基本上都不行。 =。=。。。
我還想過要給工作列獲取焦點=。=。。。結果。發現有點不對。。。

簡直,某度搜出來的東西不敢恭維。隨後拿起來了谷歌,我記得是某一站整理的,就是一行程式碼解決一切!就是下面這一行:

this.MaximizedBounds = Screen.PrimaryScreen.WorkingArea;//在窗體初始化後新增一句程式碼

臥槽!直接可行,注意要在窗體初始化後新增一句程式碼
真是666,這個辦法6.=。=
我是這樣加的:我直接把整個方法賦值下來了=。=。。就是這個

public Desktop()
        {
            this.StartPosition = FormStartPosition.Manual;
            InitializeComponent();
            //
            this.MaximizedBounds
= Screen.PrimaryScreen.WorkingArea; //必加,不加也不會實現 this.WindowState = System.Windows.Forms.FormWindowState.Maximized; }

完美解決,簡直賊6!