C#窗体全屏功能

窗体全屏的方法:

隐藏任务栏、设置工作区域
窗体最大化、设置窗体边框样式

全屏窗体代码
   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>
         /// 全屏的快捷功能,F11相当于单机按钮;Esc健,如果全屏则退出全屏
         /// </summary>
         /// <param name="sender"></param>
         /// <param name="e"></param>
         private void btnFullScreen_KeyDown(object sender, KeyEventArgs e)
         {
             if (e.KeyCode == Keys.F11)
             {
                 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;
             Int32 hwnd = 0;
             hwnd = FindWindow("Shell_TrayWnd", null);//获取任务栏的句柄

             if (hwnd == 0) return false;

             if (fullscreen)//全屏
             {
                 ShowWindow(hwnd, SW_HIDE);//隐藏任务栏

                 SystemParametersInfo(SPI_GETWORKAREA, 0, ref rectOld, SPIF_UPDATEINIFILE);//get  屏幕范围
                 Rectangle rectFull = Screen.PrimaryScreen.Bounds;//全屏范围
                 SystemParametersInfo(SPI_SETWORKAREA, 0, ref rectFull, SPIF_UPDATEINIFILE);//窗体全屏幕显示
             }
             else//还原
             {
                 ShowWindow(hwnd, SW_SHOW);//显示任务栏

                 SystemParametersInfo(SPI_SETWORKAREA, 0, ref rectOld, SPIF_UPDATEINIFILE);//窗体还原
             }
             return true;
         }

         #region user32.dll

         [DllImport("user32.dll", EntryPoint = "ShowWindow")]
         public static extern Int32 ShowWindow(Int32 hwnd, Int32 nCmdShow);
         public const Int32 SW_SHOW = 5; public const Int32 SW_HIDE = 0;

         [DllImport("user32.dll", EntryPoint = "SystemParametersInfo")]
         private static extern Int32 SystemParametersInfo(Int32 uAction, Int32 uParam, ref Rectangle lpvParam, Int32 fuWinIni);
         public const Int32 SPIF_UPDATEINIFILE = 0x1;
         public const Int32 SPI_SETWORKAREA = 47;
         public const Int32 SPI_GETWORKAREA = 48;

         [DllImport("user32.dll", EntryPoint = "FindWindow")]
         private static extern Int32 FindWindow(string lpClassName, string lpWindowName);

         #endregion
     }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索spi
, int
, systemparametersinfo
, 窗体
, uft12 object spy
, public
, 32
, rectangle
, 设置全屏
全屏功能
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-08-04 12:31:02

C#窗体全屏功能的相关文章

C#窗体全屏功能实例代码_C#教程

最近有朋友让我给他弄个应用程序全屏的功能,例如银行的取号程序界面.所以我从网上查询了一些实现的方法. C#应用程序中如何实现全屏幕显示功能? 效果就像windows自带的屏幕保护程序和众多的游戏那样,无论是否设置了"将任务栏保持在其他窗口的前端"都不显示任务栏 实现方式一 在网上找来一些简单的实现方式: this.FormBorderStyle = FormBorderStyle.None; //设置窗体为无边框样式 this.WindowState = FormWindowState

百度地图全屏功能怎么用

  百度地图全屏功能使用方法:点击地图右上角的全屏按钮,即可进入全屏状态,点击退出全屏或Esc退出. 百度地图搜索是百度提供的一项网络地图搜索服务,覆盖了国内近400个城市.数千个区县.在百度地图里,您可以查询街道.商场.楼盘的地理位置,也可以找到离您最近的所有餐馆.学校.银行.公园等等.

设置WPF窗体全屏显示:

//全屏代码:private void Window_Loaded(object sender, RoutedEventArgs e) { // 设置全屏 this.WindowState = System.Windows.WindowState.Normal; this.WindowStyle = System.Windows.WindowStyle.None; this.ResizeMode = System.Windows.ResizeMode.NoResize; this.Topmost

javascript full screen 全屏显示页面元素的方法_javascript技巧

一种最简单的方式,就是动态改变你想要全屏显示的部件的style,例如position变成absolute,height和width都设置成窗口大小,并且把背景颜色改成全白(为了遮住页面上其余的元素).这样网页上就只能看到你要突出的部件了,视觉上就等同于全屏.同时利用javascript监听键盘事件,一旦用户按了ESc退出键,就恢复原来的样子.部分代码如下: 复制代码 代码如下: document.onkeydown = function (event) {        var e = even

c# 如何实现屏幕的全屏显示

问题描述 有一个BMP图,如何用C#实现在显示器上显示该图像(图像分辨率和显示器相同)急等啊 解决方案 解决方案二:想实现在局域网中过的屏幕广播,现在已获取了控制端的屏幕信息,也通过网络发到本地内存,现在不知道怎么在本地能显示出来呢?求回答解决方案三:这不是序列化与反序列化吗解决方案四:你利用C#DrawingGraphics重绘图片解决方案五:窗体全屏显示然后图像在窗体上全屏显示不就得了?..解决方案六:一个无边框的窗体,里面放一个picturebox:picturebox.Dock=Dock

pdfjs如何提取全屏事件

问题描述 目前将PDF.JS中的加载PDF文件和翻页功能已经提取实现(他有加载翻页的案例),在其中加了某些功能现在想要实现全屏功能,源码中的全屏全部封装了,看不懂,有人能帮忙么?参考资料:http://mozilla.github.io/pdf.js/web/viewer.html我的工具条不是用的他的结构,我只要其中的全屏

VC下做一个功能,双击列表控件,使得列表全屏显示,按Esc键恢复原来状态,怎么做?

问题描述 VC下做一个功能,双击列表控件,使得列表全屏显示,按Esc键恢复原来状态,怎么做? 使用List Control,双击它的时候能够变成全屏,按Esc键恢复原来状态 解决方案 是什么环境?如果是VB或者C#,你可以做一个窗口,不要边框和标题栏(controlbox FormBorderStyle),list control dock设置为fill响应keypress,如果是窗口,就切换到全屏的那个窗口,否则切换回来. 解决方案二: 处理db_click双击消息,然后MoveWindow调

winapi-在C# Winform项目,如何实现用鼠标模拟点击CBOX央视影音播放客户端,实现全屏播放视频的功能

问题描述 在C# Winform项目,如何实现用鼠标模拟点击CBOX央视影音播放客户端,实现全屏播放视频的功能 在C# Winform项目,已经可以通过以下代码实现将CBOX央视影音在线视频播放的App客户端打开. 代码如下: Process proc = new Process(); m_Process.StartInfo.FileName = @"C:Program FilesCNTVCBoxCBox.exe"; m_Process.Start(); 目前遇到一个问题,需用手工点击

微信公共号的文章中点击一张图片后,自动变为全屏浏览。这是编写代码实现的功能还是手机or微信自带的功能?

问题描述 微信公共号的文章中点击一张图片后,自动变为全屏浏览.这是编写代码实现的功能还是手机or微信自带的功能? 求解!如何不是手机的自带功能如何编写这个代码? 我写了一些放大功能的代码都达不到全屏的那种效果.. 解决方案 这个是通过微信公众平台提供的JsApi接口来实现,点击图片直接调起微信客户端自带的图片播放组件.// 调起微信客户端的图片播放组件进行播放 var srcList = []; $.each($('img'),function(i,item){ if(item.src) { s