1.應用winapi 「setparent」 介面:
[dllimport("user32.dll
", setlasterror = true)]
static
extern intptr setparent(intptr hwndchild, intptr hwndnewparent);
複製**
control.dock = dockstyle.none;control.left = 0;
control.top = 0;
control.width = screen.primaryscreen.bounds.width;
control.height = screen.primaryscreen.workingarea.height;
setparent(control.handle, intptr.zero);
複製**
履行上方的**後,我們的 control已經可以全屏顯示了,但還有乙個小題目,我們應當再供給乙個功能,讓使用者按某個鍵後,退出全屏,要不然關不掉,給誰用都鬥勁愁悶。這個時辰應當給控制項新增相干事務,取到鍵後返回。我們以esc鍵為例:
privatevoid addeventkeyup(control control) }}
void control_keyup(object sender, keyeventargs e)
}}
複製**
批改後的**如下:
control.dock = dockstyle.none;control.left = 0;
control.top = 0;
control.width = screen.primaryscreen.bounds.width;
control.height = screen.primaryscreen.workingarea.height;
addeventkeyup(control);
control.focus();//
獲得核心,不然也得不到按鍵
setparent(control.handle, intptr.zero);
複製**
2.新建乙個視窗,設定 formborderstyle為none,windowstate為maximized,topmost為true。然後具體**如下:
addeventkeyup(control);本來的parent.controls.clear();
frmfullscreen frm = new frmfullscreen();
frm.controls.add(control);
frm.showdialog();
複製**
privatevoid addeventkeyup(control control) }}
void control_keyup(object sender, keyeventargs e) }}
}
C 讓控制項全屏顯示(WinForm)
經過摸索,暫時發現兩種可行方法,如果有誰知道其他方法,敬請告知。1.使用winapi setparent 介面 dllimport user32.dll setlasterror true static extern intptr setparent intptr hwndchild,intptr ...
C 讓控制項全屏顯示(WinForm)
經過摸索,暫時發現兩種可行方法,如果有誰知道其他方法,敬請告知。1.使用winapi setparent 介面 dllimport user32.dll setlasterror true static extern intptr setparent intptr hwndchild,intptr ...
C 讓控制項全屏顯示(WinForm)
經過摸索,暫時發現兩種可行方法,如果有誰知道其他方法,敬請告知。1.使用winapi setparent 介面 dllimport user32.dll setlasterror true static extern intptr setparent intptr hwndchild,intptr ...