C#控件编程详解之窗体(Form)

摘要:以自身开发经验,从窗体的属性与事件详解窗体的用法。

编程语言:C#

编程环境:Visual Studio 2019

目录

窗体属性详解

布局

窗口样式

设计

外观

行为

杂项

 窗体事件详解

小结

每篇寄语


窗体属性详解

布局

  • AutoScroll:bool型,指示控件内容大于其可见区域时是否显示滚动条,初始为false。(注:当内容超出可见区域才显示滚动条,而不是一直显示滚动条)
  • AutoSize:bool型,指示控件尺寸是否与其内容自适应,初始为false。
  • Location:Point型,定义控件左上角相对于其容器左上角的坐标,初始为(0,0)。(若是工具箱拖动创建,初始为放置控件的左上角坐标)
  • MaximumSize:Size型,定义窗体可以调整到的最大尺寸,初始为(0,0)。(注:初始时,相当于不起作用,可以随意拉大)
  • MinimumSize:Size型,定义窗体可以调整到的最小尺寸,初始为(0,0)。
  • Size:Size型,定义控件的尺寸(宽,高)。
  • StartPosition:FormStartPosition枚举型,定义窗体启动的位置,枚举值有Manual(手动)、CenterSreen(屏幕中央)、WindowsDefaultLocation(默认位置,偏左上)、WindowsDefaultBounds(默认位置和边界)、CenterParent(父窗体中央),初始为WindowsDefaultLocation。(注:若要写代码修改窗体启动位置,需要将这个属性设置为Manual;若这个属性设置为WindowsDefaultBounds,则窗体尺寸保持给定值,不可修改)
  • WindowState:FormWindowState枚举型,定义窗体显示的初始状态,枚举值有Normal(常态显示)、Minimizied(最小化显示)、Maximized(最大化显示),初始为Normal。

窗口样式

  • ControlBox:bool型,指示窗体标题栏是否有系统菜单按钮(最小化、最大化、叉)和图标,初始为true。
  • HelpButton:bool型,指示窗体标题栏是否有帮助按钮,初始为false。(注:只有当没有最小化按钮和最大化按钮时,这个属性设置为true才有效,帮助按钮显示在叉的旁边)
  • Icon:Icon型,定义窗体标题栏和任务栏的图标,初始为系统图标,可通过导入.ico图标文件修改图标。
  • MaximizeBox:bool型,指示窗体标题栏是否有最大化按钮。
  • MinimizeBox:bool型,指示窗体标题栏是否有最小化按钮。
  • Opacity:double型,定义窗体的不透明度百分比,初始为100%,即完全不透明。
  • ShowIcon:bool型,指示窗体图标是否显示在标题栏上,初始为ture。
  • ShowInTaskbar:bool型,指示窗体是否出现在任务栏中,初始为ture。
  • SizeGripSize:SizeGripSize枚举型,定义窗体右下角显示调整大小手柄的模式,枚举值有Auto(自动)、Hide(隐藏)、Show(显示),初始为Auto。

  • TopMost:bool型,指示窗体是否始终显示在所有窗体之上,初始为false。
  • TransparencyKey:Color型,定义绘制到窗体上显示透明的颜色,初始为空。

设计

  • Name:string型,定义窗体的成员变量名,初始为“Form1”。
  • Locked:bool型,指示在设计时是否锁定窗体的尺寸,初始为false。(注:将此项设置为true将导致无法拖动设置窗体尺寸,但仍可以通过写代码修改窗体的尺寸)

外观

  • BackColor:Color型,定义窗体的背景色,初始为系统颜色Control。
  • BackgroundImage:Image型,定义窗体的背景图,初始为空。
  • BackgroundImageLayout:ImageLayout枚举型,定义窗体的背景图像布局方式,枚举值有None(靠左显示)、Tile(重复显示)、Center(居中显示)、Stretch(拉伸占满显示)、Zoom(按比例缩放显示),初始为Tile。(注:若RightToLeft属性为Yes,则None表示靠右显示)
  • Cursor:Cursor型,定义鼠标移动到窗体时显示的光标,初始为Default。
  • Font:Font型,定义窗体标题的字体和字号,初始为宋体,9pt。
  • ForeColor:Color型,定义窗体标题的颜色,初始为系统颜色ControlText。
  • FormBorderStyle:FormBorderStyle枚举型,定义窗体的边框和标题栏的外观,初始为Sizable。(注:若将此属性调为Fixed打头的属性,那么运行后窗体尺寸将不可通过鼠标拖动修改)
  • RightToLeft:RightToLeft枚举型,定义窗体是否从右往左绘制,枚举值有Yes(从右往左绘制)、No(从左往右绘制)、Inherit(继承当前,通常是从左往右绘制),初始为No。
  • RightToLeftLayout:bool型,指示窗体布局是否从右往左,初始为false。(注:当RightToLeft属性设置为Yes的时候,这个属性才起作用)
  • Text:string型,定义窗体标题文本,初始为“Form1”。

行为

杂项

  • KeyPreview:bool型,指示窗体是否接收键盘事件,初始为false。(注:这个属性若为ture,窗体将接收键盘事件(包括KeyPress,KeyDown,KeyUp事件),若为false,则窗体内选定的控件接收键盘事件)

 窗体事件详解

  • Load:加载窗体事件,加载窗体时候发生,是窗体的双击默认事件。(注:该事件在创建后,显示前调用,双击窗体可直接注册该事件,并自动转到该事件的方法体)
  • Shown:窗体显示事件,窗体第一次显示时候发生。(注:该事件在显示后调用,即Show()或者ShowDialog()后发生)
  • FormClosed:窗体已关闭事件,窗体已关闭发生。
  • FormClosing:窗体正在关闭(关闭前)事件,窗体正在关闭(关闭前)发生。(注:FormClosing事件可以阻止窗体关闭,而FormClosed无法阻止)

小结

        窗体作为C#控件编程必须使用且使用广泛的控件,首先应该学会并掌握它的使用,后续在窗体里布控件,才能得心应手。小编列举了自己使用过的一些属性和事件的用法,还有很多其他属性和事件需要进一步学习后与大家分享哦。

每篇寄语

        磨刀不误砍柴工。

猜你喜欢

转载自blog.csdn.net/lucgh/article/details/130093820