C# WinForm 關於窗體最大化時的是否全屏效果與是否遮蓋工作列
0.新建窗體 及新增按鈕
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 不會顯示窗體標題欄等相關
[轉]窗體最大化的時候,如何指定窗體的位置、大小(C#) http://www.cnblogs.com/adandelion/archive/2008/04/03/1136198.html
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication1
{
public partial class FormRegion : Form
{
private const long WM_GETMINMAXINFO = 0x24;
public struct POINTAPI
{
public int x;
public int y;
}
public struct MINMAXINFO
{
public POINTAPI ptReserved;
public POINTAPI ptMaxSize;
public POINTAPI ptMaxPosition;
public POINTAPI ptMinTrackSize;
public POINTAPI ptMaxTrackSize;
}
public FormRegion()
{
InitializeComponent();
this.MaximumSize = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
}
protected override void WndProc(ref System.Windows.Forms.Message m)
{
base.WndProc(ref m);
if (m.Msg == WM_GETMINMAXINFO)
{
MINMAXINFO mmi = (MINMAXINFO)m.GetLParam(typeof(MINMAXINFO));
mmi.ptMinTrackSize.x = this.MinimumSize.Width;
mmi.ptMinTrackSize.y = this.MinimumSize.Height;
if (this.MaximumSize.Width != 0 || this.MaximumSize.Height != 0)
{
mmi.ptMaxTrackSize.x = this.MaximumSize.Width;
mmi.ptMaxTrackSize.y = this.MaximumSize.Height;
}
mmi.ptMaxPosition.x = 1;
mmi.ptMaxPosition.y = 1;
System.Runtime.InteropServices.Marshal.StructureToPtr(mmi, m.LParam, true);
}
}
}
}
MessageBox.Show("當前窗體標題欄高度"+(this.Height - this.ClientRectangle.Height).ToString());//獲得當前窗體標題欄高度
ClientRectangle//獲取表示控制元件的工作區的矩形
MessageBox.Show(SystemInformation.PrimaryMonitorSize.ToString()); //獲取主顯示器螢幕的尺寸(畫素)
//獲取主顯示器當前當前視訊模式的尺寸(以象素為單位)
MessageBox.Show("選單欄高度"+SystemInformation.MenuHeight.ToString()); //獲取標準選單欄的高度
MessageBox.Show("標題欄高度"+SystemInformation.CaptionHeight.ToString()); //獲取標準標題欄的高度
MenuHeight//獲取一個選單行的高度(以象素為單位)
CaptionHeight//獲取視窗的標準標題欄區域的高度(以象素為單位)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-655635/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- WPF視窗最大化(不覆蓋工作列)
- c# winform窗體相關屬性C#ORM
- 解決WinForm(C#)中MDI子窗體最大化跑偏的問題ORMC#
- C#實現窗體全屏C#
- C# WinForm 父窗體 子窗體 傳值C#ORM
- winform 無邊框窗體實現拖動、最大化、最小化、關閉ORM
- C# WinForm 繪製圓角窗體C#ORM
- 解決winform中mdi子窗體載入時顯示最大化最小化按鈕的方法ORM
- C# winForm 視窗跳轉後關閉上一個視窗的方法C#ORM
- Qt視窗操作函式(最大化,全屏,隱藏最大化,最小化)QT函式
- 關於索引是否該rebuild的問題索引Rebuild
- c#窗體form(winform)事件event呼叫事件的簡小示例C#ORM事件
- win10軟體全屏後工作列還在怎麼解決_win10工作列軟體全屏時老是彈出處理方法Win10
- 使用C#開啟新視窗關閉舊視窗的方法;winform中防止重複開啟多個相同子窗體C#ORM
- 關於字串的一些常用判斷 是否全部為數字 是否包含有數字 是否包含有英文字串
- jquery判斷元素是否存在於陣列中jQuery陣列
- 50、abstract的method是否可同時是static,是否可同時是native,是否可同時是synchronized?synchronized
- golang中判斷兩個slice是否相等與判斷值下的 陣列是否相等Golang陣列
- C# 顯示、隱藏視窗對應的工作列C#
- 當前時間是否大於某個時刻
- 關於是否需要同步的一個問題?
- WinForm下實現子窗體ORM
- jquery判斷指定元素是否存在於某陣列jQuery陣列
- <轉>“您檢視的網頁正在試圖關閉視窗。是否關閉此視窗”的遮蔽方法(JavaScript)網頁JavaScript
- C#判斷字串是否合法C#字串
- 關於"是否需要有程式碼規範"的個人看法
- js檢測window.open()彈出視窗是否被關閉JS
- 是否可以建個關於Java在應用軟體領域的論壇Java
- 設計開發時慎重決定列是否為空
- c# winform窗體之開啟檔案對話方塊openfiledialogC#ORM
- canvas 判斷兩球是否碰撞效果Canvas
- Android UI體驗之全屏沉浸式透明狀態列效果AndroidUI
- winform之在主窗體中不顯示子窗體的選單欄ORM
- Activity與Service是否處於同一程式?
- Winform在主窗體載入前彈出登入窗體ORM
- C#檢測U盤是否插入C#
- [轉]C# winform與Javascript的相互呼叫C#ORMJavaScript
- JavaScript 判斷是否是陣列JavaScript陣列