知识大全 C#窗体全屏功能
Posted 知
篇首语:不知道自己无知,乃是双倍的无知。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#窗体全屏功能相关的知识,希望对你有一定的参考价值。
C#窗体全屏功能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
窗体全屏的方法
隐藏任务栏 设置工作区域 窗体最大化 设置窗体边框样式
全屏窗体代码 public partial class FrmFullScreen : Form Boolean m_IsFullScreen = false;//标记是否全屏 Rectangle rectOld = Rectangle Empty; public FrmFullScreen() InitializeComponent(); /// <summary> /// 全屏按钮的Click事件 /// </summary> /// <param name=sender></param> /// <param name=e></param> private void btnFullScreen_Click(object sender EventArgs e) m_IsFullScreen = !m_IsFullScreen;//点一次全屏 再点还原 SetFormFullScreen(m_IsFullScreen); this SuspendLayout(); if (m_IsFullScreen)//全屏 this WindowState = FormWindowState Maximized; this FormBorderStyle = FormBorderStyle None; else//还原 TODO:还原后的窗体应该与全屏前的大小一致 this WindowState = FormWindowState Normal; this FormBorderStyle = FormBorderStyle Sizable; this ResumeLayout(false); /// <summary> /// 全屏的快捷功能 F 相当于单机按钮 Esc健 如果全屏则退出全屏 /// </summary> /// <param name=sender></param> /// <param name=e></param> private void btnFullScreen_KeyDown(object sender KeyEventArgs e) if (e KeyCode == Keys F ) btnFullScreen PerformClick(); e Handled = true; else if (e KeyCode == Keys Escape)//esc键盘退出全屏 if (m_IsFullScreen) e Handled = true; SetFormFullScreen(false); this WindowState = FormWindowState Normal;//还原 this FormBorderStyle = FormBorderStyle Sizable; /// <summary> /// 设置全屏或这取消全屏 /// </summary> /// <param name=fullscreen>true:全屏 false:恢复</param> /// <param name=rectOld>设置的时候 此参数返回原始尺寸 恢复时用此参数设置恢复</param> /// <returns>设置结果</returns> public Boolean SetFormFullScreen(Boolean fullscreen)// ref Rectangle rectOld Rectangle rectOld=Rectangle Empty; Int hwnd = ; hwnd = FindWindow("Shell_TrayWnd" null);//获取任务栏的句柄 if (hwnd == ) return false; if (fullscreen)//全屏 ShowWindow(hwnd SW_HIDE);//隐藏任务栏 SystemParametersInfo(SPI_GEORKAREA ref rectOld SPIF_UPDATEINIFILE);//get 屏幕范围 Rectangle rectFull = Screen PrimaryScreen Bounds;//全屏范围 SystemParametersInfo(SPI_SEORKAREA ref rectFull SPIF_UPDATEINIFILE);//窗体全屏幕显示 else//还原 ShowWindow(hwnd SW_SHOW);//显示任务栏 SystemParametersInfo(SPI_SEORKAREA ref rectOld SPIF_UPDATEINIFILE);//窗体还原 return true; #region user dll [DllImport("user dll" EntryPoint = "ShowWindow")] public static extern Int ShowWindow(Int hwnd Int nCmdShow); public const Int SW_SHOW = ; public const Int SW_HIDE = ; [DllImport("user dll" EntryPoint = "SystemParametersInfo")] private static extern Int SystemParametersInfo(Int uAction Int uParam ref Rectangle lpvParam Int fuWinIni); public const Int SPIF_UPDATEINIFILE = x ; public const Int SPI_SEORKAREA = ; public const Int SPI_GEORKAREA = ; [DllImport("user dll" EntryPoint = "FindWindow")] private static extern Int FindWindow(string lpClassName string lpWindowName); #endregion
cha138/Article/program/net/201311/14040相关参考