萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> C#中讓控件全屏顯示的實現代碼

C#中讓控件全屏顯示的實現代碼

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鍵為例: 
復制代碼代碼如下:
private void AddEventKeyUp(Control control) { 
if (control != null) { 
control.KeyUp += new KeyEventHandler(control_KeyUp); 
foreach (Control c in control.Controls) {// 需要給子控件也添加上,否則有可能取不到。 
AddEventKeyUp(c); 



void control_KeyUp(object sender, KeyEventArgs e) { 
if (e.KeyCode == Keys.Escape) { 
if (control != null) { 
SetParent(control.Handle, 原來的parent.Handle); 
control.Dock = DockStyle.Fill; 



修改後的代碼如下: 
復制代碼代碼如下:
control.Dock = DockStyle.None; 
control.Left = 0; 
control.Top = 0; 
control.Width = Screen.PrimaryScreen.Bounds.Width; 
control.

copyright © 萬盛學電腦網 all rights reserved