winform全屏问题总结

简介: 1.   执行如下按钮事件   private void btnFormMax_Click(object sender, EventArgs e)   {      if (this.
1.
  执行如下按钮事件
  private void btnFormMax_Click(object sender, EventArgs e)
  {
     if (this.WindowState == FormWindowState.Maximized)
     {
         this.WindowState = FormWindowState.Normal;
     }
     else
     {
         this.WindowState = FormWindowState.Maximized;
     }
  }
  窗体最大化时 非全屏 不会遮盖任务栏
  此时this.FormBorderStyle 默认为 Sizable
2.
  执行如下按钮事件
  private void btnFormMax_Click(object sender, EventArgs e)
  {
      if (this.WindowState == FormWindowState.Maximized)
      {        
         this.WindowState = FormWindowState.Normal;
      }
      else
      {
         this.FormBorderStyle = FormBorderStyle.None;
         this.WindowState = FormWindowState.Maximized;
      }
   }
  窗体最大化时 会全屏 及遮盖任务栏
  此时this.FormBorderStyle 为 None 不会显示窗体标题栏等相关
3.
  执行如下按钮事件
  private void btnFormMax_Click(object sender, EventArgs e)
  {
      if (this.WindowState == FormWindowState.Maximized)
      {        
         this.WindowState = FormWindowState.Normal;
      }
      else
      {
         this.FormBorderStyle = FormBorderStyle.None;
         this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
         this.WindowState = FormWindowState.Maximized;
      }
   }
  窗体最大化时 全屏 不会遮盖任务栏
  此时this.FormBorderStyle 为 None 不会显示窗体标题栏等相关


设置全屏就是设置窗体的WindowState属性和FormWindowState属性,就像上面的这段网上找到的简单代码所示,但是实际过程中发现,单纯如此并不能控制好状态栏的显示,有时最大化了,设置了任务栏隐藏,却没有效果,实验之后总结如下:

  1. //1.最大化操作必须先FormBorderStyle.None 后FormWindowState.Maximized,
  2. // 否则将无法覆盖任务栏。
  3. //2.如果已经FormWindowState.Maximized,则需要先设为非FormWindowState.Maximized 的状态,
  4. // 否则后面的FormWindowState.Maximized 将不起作用,违背了“.”的内容。
  5. if (this.WindowState == FormWindowState.Maximized)
  6. {
  7. this.Hide();
  8. this.WindowState = FormWindowState.Normal;
  9. }
  10. this.FormBorderStyle = FormBorderStyle.None;
  11. this.WindowState = FormWindowState.Maximized;
  12. this.Show();
实际上,FormBorderStyle.None 状态也会影响Winform中用于获取屏幕可用范围等一系列属性的取值,如 Screen.PrimaryScreen.WorkingArea。


转自网址:
http://blog.csdn.net/zhaoguiqun/article/details/5894062

相关文章
|
C# 编解码
WPF C# 多屏情况下,实现窗体显示到指定的屏幕内
原文:WPF C# 多屏情况下,实现窗体显示到指定的屏幕内 针对于一个程序,需要在两个显示屏上显示不同的窗体,(亦或N个显示屏N个窗体),可以使用如下的方式实现。
4891 0
|
开发者
全屏控件| 学习笔记
快速学习全屏控件。
71 0
全屏控件| 学习笔记
|
开发者
全屏控件|学习笔记
快速学习全屏控件
80 0
全屏控件|学习笔记
|
架构师 开发者
全屏幻灯控件|学习笔记
快速学习全屏幻灯控件。
57 0
|
C#
winform,wpf全屏 还显示任务栏的解决方法
原文:winform,wpf全屏 还显示任务栏的解决方法 以wpf为例: 全屏代码: this.Topmost = true; this.WindowStyle = System.Windows.WindowStyle.
1854 0
|
C#
C#或者WPF中让某个窗体置顶
原文:C#或者WPF中让某个窗体置顶 前记:在工作中有个需求,要求不管到那个界面,我必须让一个浮动条(其实是个窗体)置顶。
2062 0
|
前端开发 C# Windows
WPF之鼠标滑动切换图片
原文:WPF之鼠标滑动切换图片   在网上找了一会儿也没找到我想要的效果,还是自己动手,丰衣足食吧。   需求:当前面板中只显示一张图片,图片栏的下部有用来显示当前图片处于图片队列中的位置的圆球,并且点击下部栏内的圆球可以快速切换,附动画缓动效果。
1218 0
|
C# Windows Web App开发
WPF 应用完全模拟 UWP 的标题栏按钮
原文:WPF 应用完全模拟 UWP 的标题栏按钮 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:http://blog.csdn.net/wpwalter/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
1070 0
|
C#
在Winform窗体中使用WPF控件(附源码)
原文:在Winform窗体中使用WPF控件(附源码) 今天是礼拜6,下雨,没有外出,闲暇就写一篇博文讲下如何在Winform中使用WPF控件。原有是我在百度上搜索相关信息无果,遂干脆动手自己实现。 WPF控件的漂亮是Winform无法匹及的,本文主旨是在Winform工程中如何使用WPF控件。
1863 0