C# Winform

发布时间 2023-11-19 14:28:27作者: 船长华莱士

1. 窗体起始位置Position 设置

(1) 窗体起始位置为顶部中间,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.Manual; //窗体的位置由Location属性决定
this.Location = (Point)new Size(x, y);         //窗体的起始位置为(x,y)

(2) 其他属性说明

System.Windows.Forms.SystemInformation.WorkingArea.Width //屏幕宽度
System.Windows.Forms.SystemInformation.WorkingArea.Height //屏幕高度(去系统任务栏,当显示有任务栏的时候)
this.Size.Width   //自己窗体的宽度,
this.Size.Width   //自己窗体的高度
this.ClientRectangle.Width  //工作区域宽度
this.ClientRectangle.Height  //工作区域高度设置窗口初始位置
this.StartPosition = FormStartPosition.Manual; //窗体的位置由Location属性决定
this.StartPosition = FormStartPosition.CenterParent; //窗体在其父窗体中居中
this.StartPosition = FormStartPosition.CenterScreen; //窗体在当前显示窗口中居中,尺寸在窗体大小中指定
this.StartPosition = FormStartPosition.WindowsDefaultBounds; //窗体定位在windows默认位置,边界也由windows默认决定
this.StartPosition = FormStartPosition.WindowsDefaultLocation; //窗体定位在windows默认位置,尺寸在窗体大小中指定

(3) 指定窗体Locaiton来,设定窗体位置

this.StartPosition = FormStartPosition.Manual; //窗体的位置由Location属性决定
this.Location = (Point)new Size(0, 0); //窗体的起始位置为0,0 

(4) 创建窗体时, 设置宽度和高度

this.ClientSize = new System.Drawing.Size(x1,y1); //X1 为宽度,Y1为高度

(5) 获取屏幕大小(using System.Drawing)

Rectangle rect = Screen.GetWorkingArea(this);
Point p = new Point(rect.Width,rect.Height);
this.Location = p;

 2. 窗体事件:

Load: 初始化窗体、加载窗体资源(窗体上的各种控件),在窗体句柄创建之后、显示之前,为显示做准备。只触发一次。
Shown:在窗体加载后显示窗体,设置窗体属性Visible=true或form.show()才会触发。触发一次或者不触发
Activated:每次窗体获得焦点均会触发(从别的窗体或对话框切回来时)。可触发多次