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.最大化操作必须先FormBorderStyle.None 后FormWindowState.Maximized,
-
// 否则将无法覆盖任务栏。
-
//2.如果已经FormWindowState.Maximized,则需要先设为非FormWindowState.Maximized 的状态,
-
// 否则后面的FormWindowState.Maximized 将不起作用,违背了“.”的内容。
-
if (this.WindowState == FormWindowState.Maximized)
-
{
-
this.Hide();
-
this.WindowState = FormWindowState.Normal;
-
}
-
this.FormBorderStyle = FormBorderStyle.None;
-
this.WindowState = FormWindowState.Maximized;
-
this.Show();
实际上,FormBorderStyle.None 状态也会影响Winform中用于获取屏幕可用范围等一系列属性的取值,如 Screen.PrimaryScreen.WorkingArea。
转自网址:
http://blog.csdn.net/zhaoguiqun/article/details/5894062
阅读(2185) | 评论(0) | 转发(0) |