winform全屏問題總結

2021-06-04 21:31:34 字數 1106 閱讀 3408

1.執行如下按鈕事件

private void btnformmax_click(object sender, eventargs e)

else

}窗體最大化時 非全屏 不會遮蓋工作列

此時this.formborderstyle 預設為 sizable

2.執行如下按鈕事件

private void btnformmax_click(object sender, eventargs e)

else

}窗體最大化時 會全屏 及遮蓋工作列

此時this.formborderstyle 為 none 不會顯示窗體標題欄等相關

3.執行如下按鈕事件

private void btnformmax_click(object sender, eventargs e)

else

}窗體最大化時 全屏 不會遮蓋工作列

此時this.formborderstyle 為 none 不會顯示窗體標題欄等相關

設定全屏就是設定窗體的windowstate屬性和formwindowstate屬性,就像上面的這段網上找到的簡單**所示,但是實際過程中發現,單純如此並不能控制好狀態列的顯示,有時最大化了,設定了工作列隱藏,卻沒有效果,實驗之後總結如下:

//1.最大化操作必須先formborderstyle.none 後formwindowstate.maximized, // 否則將無法覆蓋工作列。 //2.如果已經formwindowstate.maximized,則需要先設為非formwindowstate.maximized 的狀態, // 否則後面的formwindowstate.maximized 將不起作用,違背了「.」的內容。 

if(this.windowstate == formwindowstate.maximized)  this.formborderstyle = formborderstyle.none;this.windowstate = formwindowstate.maximized; this.show();

實際上,formborderstyle.none 狀態也會影響winform中用於獲取螢幕可用範圍等一系列屬性的取值,如 screen.primaryscreen.workingarea。

winform全屏問題總結

1.執行如下按鈕事件 private void btnformmax click object sender,eventargs e else 窗體最大化時 非全屏 不會遮蓋工作列 此時this.formborderstyle 預設為 sizable 2.執行如下按鈕事件 private void ...

讓控制項全屏顯示(WinForm)

1.應用winapi setparent 介面 dllimport user32.dll setlasterror true static extern intptr setparent intptr hwndchild,intptr hwndnewparent 複製 control.dock do...

C 讓控制項全屏顯示(WinForm)

經過摸索,暫時發現兩種可行方法,如果有誰知道其他方法,敬請告知。1.使用winapi setparent 介面 dllimport user32.dll setlasterror true static extern intptr setparent intptr hwndchild,intptr ...