C#(Form)窗体属性、常用方法、常用事件详解
一、布局属性
(1)StartPosition属性:用来获取或设置程序运行时窗体的初始显示位置,该属性有5个可选属性值,默认值 WindowsDefaultLocation。属性值如下表:
属性值 | 说明 |
---|---|
Manual(手动) | 窗体的初始显示位置由Location属性决定 |
CenterScreen(屏幕中央) | 窗体定位在当前显示屏幕窗口中居中,其尺寸在窗体大小Size中指定 |
WindowsDefaultLocation(默认位置,偏左上) | 窗体定位在windows默认位置,其尺寸在窗体大小Size中指定 |
WindowsDefaultBounds(默认位置和边界) | 窗体定位在windows默认位置,其边界也由windows默认指定 |
CenterParent(父窗体中央) | 窗体在其父窗体中居中位置 |
(注:若要写代码修改窗体启动位置,需要将这个属性设置为Manual;若这个属性设置为WindowsDefaultBounds,则窗体尺寸保持给定值,不可修改)
(2)Location属性:Point型,定义控件左上角相对于其容器左上角的坐标,初始为(0,0)。(若是工具箱拖动创建,初始为放置控件的左上角坐标)
(3)AutoScroll属性:bool型,指示控件内容大于其可见区域时是否显示滚动条,初始为false。(注:当内容超出可见区域才显示滚动条,而不是一直显示滚动条)
(4)尺寸属性:
- AutoSize:bool型,指示控件尺寸是否与其内容自适应,初始为false。
- MaximumSize:Size型,定义窗体可以调整到的最大尺寸,初始为(0,0)。(注:初始时,相当于不起作用,可以随意拉大)
- MinimumSize:Size型,定义窗体可以调整到的最小尺寸,初始为(0,0)。
- Size:Size型,定义控件的尺寸(宽,高)。
(5) WindowState属性:FormWindowState枚举型,定义窗体显示的初始状态,初始为Normal。
属性值 | 说明 |
---|---|
Normal | 常态显示 |
Minimizied | 最小化显示 |
Maximized | 最大化显示 |
二、窗口样式属性
(1)ControlBox属性:bool型,指示窗体标题栏是否有系统菜单按钮(最小化、最大化、叉)和图标,初始为true。
(2)HelpButton属性:bool型,指示窗体标题栏是否有帮助按钮,初始为false。(注:只有当没有最小化按钮和最大化按钮时,这个属性设置为true才有效,帮助按钮显示在叉的旁边)
(3)Icon属性:Icon型,定义窗体标题栏和任务栏的图标,初始为系统图标,可通过导入.ico图标文件修改图标。
(4)MaximizeBox属性:bool型,指示窗体标题栏是否有最大化按钮。
(5)MinimizeBox属性:bool型,指示窗体标题栏是否有最小化按钮。
(6)Opacity属性:double型,定义窗体的不透明度百分比,初始为100%,即完全不透明。
(7)ShowIcon属性:bool型,指示窗体图标是否显示在标题栏上,初始为ture。
(8)ShowInTaskbar属性:bool型,指示窗体是否出现在任务栏中,初始为ture。
(9)SizeGripSize属性:SizeGripSize枚举型,定义窗体右下角显示调整大小手柄的模式,枚举值有Auto(自动)、Hide(隐藏)、Show(显示),初始为Auto。
(10)TopMost属性:bool型,指示窗体是否始终显示在所有窗体之上,初始为false。
(11)TransparencyKey属性:Color型,定义绘制到窗体上显示透明的颜色,初始为空。
(12)IsMdiContainer属性:用来获取或设置一个值,该值指示窗体是否为多文档界面中的子窗体的容器。值为True时,窗体是子窗体的容器,为False时,不是子窗体的容器,默认值为False。
(13)MainMenuStrip属性:设置窗体的主菜单,在窗体中添加MenuStrip控件时,Visual Studio .NET会自动完成该属性设置。
三、设计属性
(1)Name:string型,定义窗体的成员变量名,初始为“Form1”。
(2)Locked:bool型,指示在设计时是否锁定窗体的尺寸,初始为false。(注:将此项设置为true将导致无法拖动设置窗体尺寸,但仍可以通过写代码修改窗体的尺寸)
四、外观属性
(1)Text:string型,定义窗体标题文本,初始为“Form1”。
(2)BackColor:Color型,定义窗体的背景色,初始为系统颜色Control。
(3)BackgroundImage:Image型,定义窗体的背景图,初始为空。
(4)BackgroundImageLayout:ImageLayout枚举型,定义窗体的背景图像布局方式,枚举值有None(靠左显示)、Tile(重复显示)、Center(居中显示)、Stretch(拉伸占满显示)、Zoom(按比例缩放显示),初始为Tile。(注:若RightToLeft属性为Yes,则None表示靠右显示)
(5)Cursor:Cursor型,定义鼠标移动到窗体时显示的光标,初始为Default。
(6)Font:Font型,定义窗体标题的字体和字号,初始为宋体,9pt。
(7)ForeColor:Color型,定义窗体标题的颜色,初始为系统颜色ControlText。
(8)FormBorderStyle:定义窗体的边框和标题栏的外观,获取或设置窗体的边框样式,默认值为Sizable。可以通过设置该属性值为none,实现隐藏窗体标题栏的功能。
可选属性值如下表:
属性值 | 说明 |
---|---|
None | 窗体无边框 |
FixedSingle | 固定的单行边框 |
Fixed3D | 固定的三维边框 |
FixedDialog | 固定的对话框式的粗边框 |
Sizable | 可调整大小的边框 |
FixedToolWindow | 固定大小的工具窗口边框 |
SizableToolWindow | 可调整大小的工具窗口边框 |
(注:若将此属性调为Fixed开头的属性,那么运行后窗体尺寸将不可通过鼠标拖动修改)
(9)RightToLeft:RightToLeft枚举型,定义窗体是否从右往左绘制,枚举值有Yes(从右往左绘制)、No(从左往右绘制)、Inherit(继承当前,通常是从左往右绘制),初始为No。
(10)RightToLeftLayout:bool型,指示窗体布局是否从右往左,初始为false。(注:当RightToLeft属性设置为Yes的时候,这个属性才起作用)
五、行为属性
(1)ContextMenuStrip:定义用户右击窗体时显示的快捷菜单,初始为空。(注:若要创建此菜单,需要写代码创建或者拖动创建ContextMenuStrip控件后再选择这里,无法在属性框直接创建)。
//这里通过对button1加入右击菜单
public Form1()
{
InitializeComponent();
ContextMenuStrip contextMenuStrip = new ContextMenuStrip();//创建一个鼠标右击菜单
/*添加项*/
contextMenuStrip.Items.Add("Su");
contextMenuStrip.Items.Add("Mu");
contextMenuStrip.Items.Add("SUMU");
button1.ContextMenuStrip = contextMenuStrip;//右击菜单添加到按钮button1
}
(2)Enabled:bool型,指示是否启用该窗体,初始为true。(注:将该属性设置为false,窗体内的所有控件都将变灰,为不可用状态)
(3)AllowDrop:用来获取或设置一个值,该值指示窗口是否可以接受用户拖放到它上面的数据。默认值为False。
(4)ImeMode:获取或设置控件的输入法编辑器IME模式。
六、其他属性
(1)KeyPreview:bool型,指示窗体是否接收键盘事件,初始为false。(注:这个属性若为ture,窗体将接收键盘事件(包括KeyPress,KeyDown,KeyUp事件),若为false,则窗体内选定的控件接收键盘事件)
//开启窗体获取键盘事件的焦点,正常响应键盘事件。
this.KeyPreview = true;
(2)AcceptButton:该属性用来获取或设置一个值,该值是一个按钮的名称,当按【Enter】键时就相当于单击了窗体上的该按钮。
(3)CancelButton:该属性用来获取或设置一个值,该值是一个按钮的名称,当按【Esc】键时就相当于单击了窗体上的该按钮。
七、窗体的常用方法
(1)Show:让窗体显示出来
//例如使用show方法显示Form1窗体
From1 frm = new Form1();
frm.Show();
(2)ShowDialog:将窗口显示为模态对话框(在该模态窗口关闭之前,该父窗口不能成为活动窗口,除非关闭该模态窗口)
From1 frm = new Form1();
frm.ShowDialog();
模态对话框在显示之后,就不能对同一个程序中的其它窗口进行操作。非模态对话框在显示之后,还可以对同一个程序的其它窗口进行操作。
(3)Hide:把窗体隐藏起来,但不销毁窗体,也不释放资源,可以使用Show方法重新显示。
From1 frm = new Form1();
frm.Hide();
(4)Close:把窗体关闭。
From1 frm = new Form1();
frm.Close();
(5)Refresh:刷新并重画窗体。
From1 frm = new Form1();
frm.Refresh();
(6)Activate:激活窗体并给予它焦点。
From1 frm = new Form1();
frm.Activate();
八、窗体的常用事件
(1)Load:加载窗体事件,加载窗体时候发生,是窗体的双击默认事件。(注:该事件在创建后,显示前调用,双击窗体可直接注册该事件,并自动转到该事件的方法体)
(2)Shown:窗体显示事件,窗体第一次显示时候发生。(注:该事件在显示后调用,即Show()或者ShowDialog()后发生)
(3)FormClosing:窗体正在关闭(关闭前)事件,窗体正在关闭(关闭前)发生。(注:FormClosing事件可以阻止窗体关闭,而FormClosed无法阻止)
(4)FormClosed:窗体已关闭事件,窗体已关闭发生。
(5)Click、MouseClick 事件:该事件在用户单击窗体时发生。
(6)DoubleClick 事件:该事件在用户双击窗体时发生。
(7)Resize 事件:该事件在改变窗体大小时发生。
(8)Paint 事件:该事件在重绘窗体时发生。
(9)Activated 事件:窗体得到焦点后,即窗口激活时将引发该事件。
(10)Deactivate 事件:窗体失去焦点后,成为不活动窗体时将引发该事件。
(11)TextChanged 事件:窗体的标题文本被更改时将引发该事件。
(12)LocationChanged 事件:窗体的位置被更改时将引发该事件。
(13)SizeChanged 事件:窗体的大小被更改时将引发该事件。
(14)BackClolorChanged 事件:窗体的背景颜色被更改时将引发该事件。
(15)FontChanged 事件:窗体的字体被更改时将引发该事件。
本文来自博客园,作者:苏沐~,转载请注明原文链接:https://www.cnblogs.com/sumu80/p/17987183