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 事件:窗体的字体被更改时将引发该事件。


posted @ 2024-01-25 15:09  苏沐~  阅读(2201)  评论(0编辑  收藏  举报