Form简介
- 可视化的图面,显示信息。
- 通常由 添加的控件 和 操作的响应 构成。
- 继承于 Form ------ System.Windows.Forms.Form 窗口或对话框
- 可以在代码和窗体设计文件之间相互切换:
1)在代码页面右键 → "查看设计器" → 切换到窗体界面;
2)在窗体界面右键 → "查看代码" → "切换到代码页面" - 点击窗体,查看属性,窗体的 (Name)属性的值 和 代码页面的类名 一致
上面的 partial 的意思是这里的代码内容只是 FrmUser类的一部分,编译的时候会和其他部分一起编译成一个FrmUser类。也就是说一个类的内容可以写在不同的地方。
下面这个是文件名,当修改文件名时,窗体的 (Name)属性的值 和 代码页面的类名 都会随之修改。
-
InitializeComponent()函数是窗体的初始化函数,里面主要定义了一些窗体和控件的属性,触发的事件/方法等,是 根据用户在属性里设置的内容 自动生成的
-
当 窗体 在文件夹下面的时候,调用时,需要用 "文件夹名字.窗体"
常用属性
1. 在属性面板可以设置的属性:
- (Name)属性:指示代码中用来标识该对象的名称,相当于一个身份ID,QQ号
- AcceptButton:窗体的接受按钮。如果设置了此按钮,则用户每次按"Enter"键都相当于单机这个按钮。可能是用户登录界面会用到,比如当用户输入用户名和密码之后,按回车 相当于 点击 登录 键。
- CancelButton:窗体的取消按钮。如果设置了此属性,则用户每次按"Esc"键都相当于单机这个按钮。
- AutoScroll:指示当控件内容大于它的可见区域时,是否自动显示滚动条。
- AutoSize:指定控件是否自动调整自身的大小以适应其内容的大小。
- BackColor:组件的背景色
- BackgroundImage:用于该控件的背景图像
- BackgroundImageLayout:用于组件的背景图像布局,比如:None无, Tile, Center居中, Stretch拉伸, Zoom自动缩放
- ContextMenuStrip:当用户右键 该控件时,显示的快捷菜单
- ControlBox:确定窗体是否有"控件/系统"菜单框,就是右上角的最大化、最小化、关闭按钮
- Enabled:指示是否已启用该控件,如果不启用的话,无法对控件做任何操作
- Font:字体大小、类型设置
- ForeColor:窗体的前景色,用于显示文本
- FormBorderStyle:指示窗体的边框和标题栏的外观和行为,如:None,Sizable大小可调整,FixedSingle大小不可调整,Fixed3D大小不可调整,FixedDialog,FixedToolWindow,SizableToolWindow
- Maximum:确定窗体标题栏的右上角最大化框是否可用。
- MaximizeBox:确定窗体标题栏的右上角是否有最大化框
- MinimizeBox:确定窗体标题栏的右上角是否有最小化框
- Opacity:控件的不透明度百分比
- Padding:指定控件的内部间距
- Icon:指示窗体的图标。在窗体的系统菜单框中显示,以及当窗体最小化时显示。加载的图标文件需要是 .ico 格式的
- ShowIcon:指示是否在窗体的标题栏中显示图标
- IsMdiContainer:确定该窗体是否是MDI容器,是否可以在窗体里面显示其他子窗体,并且里面的子窗体只能在该窗体内拖动,不能拖出去。有些软件界面在一个窗体内可以显示其他窗体。
- Location:控件左上角相当于其容器左上角的坐标。
- Size:控件的大小,以像素为单位
- StartPosition:确定窗体第一次出现时的位置:Manual,CenterScreen屏幕中央,WindowsDefaultLocation(默认),WindowsDefaultBounds,CenterParent显示在父容器的中央。
- Tag:与对象关联的用户定义数据,比如初始化窗体时传递的一些绑定的数据、关联的数据,整型值,字符串,对象,实体类等,是一个object类
- TopMost:指示该窗体是否始终显示在此属性未设置为true的所有其他窗体之上。
- WindowState:确定窗体的初始可视状态,Normal正常状态,Minimized最小化,Maximized最大化
2. 在代码里设置属性
这时,"确定"按钮不会显示在窗体界面中,只有当运行代码的时候,"确定"按钮才会显示出来。
常用方法
- 实例化 :FrmUser fUser = new FrmUser();
- 显示窗体的方法
- Show():显示窗体
- ShowDialog():模式化窗体打开,当ShowDialog显示的窗体未关闭时,其他窗体是无法响应/操作的
- 激活窗体的方法:fUser.Activate(); 当窗体失去焦点的时候,可以用于激活窗体。失去焦点的意思就是:当新打开了窗体后,用户在新窗体上操作,原来的窗体就失去焦点了。
- 关闭窗体:Close()方法
- 隐藏窗体:Hide()方法
常用事件
- Load事件:加载窗体时,触发的函数
- FormClosing事件:当用户关闭窗体时,在窗体已关闭并指定关闭原因前发生。比如关闭窗体前的清理操作放在这个函数里
- Activated事件:每当窗体被激活时发生
- Deactivate事件:每当窗体被停用时发生
- FormClosed事件:每当用户关闭窗体时,在窗体已关闭并指定关闭原因后发生
- Click事件:单机窗体时发生
参考:2023年C#之WinForm零基础教程50讲