Chinaunix首页 | 论坛 | 博客
  • 博客访问: 12877592
  • 博文数量: 1293
  • 博客积分: 13501
  • 博客等级: 上将
  • 技术积分: 17974
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-08 18:11
文章分类

全部博文(1293)

文章存档

2019年(1)

2018年(1)

2016年(118)

2015年(257)

2014年(128)

2013年(222)

2012年(229)

2011年(337)

分类: C#/.net

2016-05-20 15:56:42

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

阅读(2185) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~