winForm窗体最大化的设置

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

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#)

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//获取窗口的标准标题栏区域的高度(以象素为单位)

winForm窗体最大化的设置

时间: 2024-08-13 00:41:49

winForm窗体最大化的设置的相关文章

c# winform 窗体起始位置 设置

窗体起始位置为顶部中间,WinForm居中显示: int x = (System.Windows.Forms.SystemInformation.WorkingArea.Width - this.Size.Width) / 2; int y = (System.Windows.Forms.SystemInformation.WorkingArea.Height - this.Size.Height) / 2; this.StartPosition = FormStartPosition.Manu

当winform窗体的Bordestyle设置为None时,鼠标可以拖动窗体的办法

1 2015-07-11 16:05:35 2 bool formMove = false;//窗体是否移动 3 Point formPoint;//记录窗体的位置 4 private void Form1_MouseDown(object sender, MouseEventArgs e) 5 { 6 formPoint = new Point(); 7 int xOffset; 8 int yOffset; 9 if (e.Button == MouseButtons.Left) 10 {

解决WinForm(C#)中MDI子窗体最大化的问题

“用MDI方式打开一个子窗口体后,总是不能最大化显示,明明子窗口体的WindowState设置为Maximized?”,相信有很多人会遇到这的样问题,请按下面的方法设置即可使MDI子窗体最大化: 1.把父窗体的IsMdiContainer设置为True:2.把子窗体的WindowState设置为Normal:3.在父窗体中用下面的方法打开子窗体:private void menuItemsMdiForm_Click(object sender, EventArgs e){     MyChild

2014-07-25 设置Winform窗体滚动条位置

昨天那个小工具还差最后一步,就是那个图文并茂窗体. 拖几个GroupBox.Label.PictureBox控件,很快就做完了. 因为截图比较大,所以加了滚动条(设置 AutoScroll 属性为 True ). 但是发现一个问题,弹出这个窗体的时候,滚动条总是在最下边囧. 老程序员看了说:“这个没事儿,不用管”. 不过我看着总是感觉不爽,客户体验太差!而且最关键的是,我感觉这个应该很容易解决. 所以,我决定还是再改一下. 于是,我自信而又轻快地敲击键盘,写下了自以为可以轻松搞定这个问题的代码:

解决WinForm(C#)中MDI子窗体最大化跑偏的问题

“用MDI方式打开一个子窗口体后,总是不能最大化显示,明明子窗口体的WindowState设置为Maximized?”,相信有很多人会遇到这的样问题,请按下面的方法设置即可使MDI子窗体最大化: 1.把父窗体的IsMdiContainer设置为True:2.把子窗体的WindowState设置为Normal:3.在父窗体中用下面的方法打开子窗体:private void menuItemsMdiForm_Click(object sender, EventArgs e){     MyChild

WinForm MDi子窗体最大化导致子窗体标题栏和主窗体菜单栏合并问题的解决方法

在主窗体菜单栏的ItemAdded事件中编写如下代码: *msMain是我的主窗体菜单栏的Name属性值 //子窗体最大化不显示图标 private void msMain_ItemAdded(object sender, ToolStripItemEventArgs e) { if (e.Item.Text.Length == 0) { e.Item.Visible = false; } else { e.Item.Visible = true; } } 说明: 打开的子窗体最大化的时候,菜单

新认知之WinForm窗体程序

Windows应用程序和控制台应用程序有很大的区别 >Form1.cs  :窗体文件,程序员对窗体编写的代码一般都存放在这个文件中. >Form1.Designer.cs :窗体设计文件,其中的代码是有Visual Studio自动生成的,一般不需要修改. >Form1.resx  :资源文件,用来配置当前窗体所使用的字符串,图片等资源. >Program.cs  :主程序文件,其中包含程序入口的Main()方法 Partial  >     在窗体类的前面多了一个parti

WinForm 窗体属性 窗体美化

WinForm是·Net开发平台中对Windows Form的一种称谓. Windows窗体的一些重要特点如下: 功能强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序. 操作方便:新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括Microsoft SQL Server.Microsoft Access.Jet.DB2以及Oracle等. 使用安全:Windows窗体充分利用公共语言运行库的安全特性.这就意味着,

Delphi窗体最大化按钮不可用情况下的最大化

最大化按钮不可用,而且窗体最大化,我以前一直这样设置:在Object Inspector下把BorderIcons属性下的biMaximize属性设置为False,然后把WindowState属性设置为wsMaximized,结果是窗体的最大化按钮的确是隐藏了,窗体也最大化了,但是窗体也遮盖住了任务栏! 网上也有很多人来讨论这个问题的,也有人说窗体的ALign 属性为 alClient同时窗体WindowState属性要设置为wsNormal就可以了:这样看起来的确是最大化了,但是窗体还是有点边