ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

C#-winForm的学习

C#-winForm的学习

目录

一、winForm窗体应用介绍

1.1工具箱的介绍

1.2控件的应用

1.3属性窗口的内容

1.4布局的重要性

1、布局的方式(方案一:Panel+Dock)

2、TableLayoutPanel(表格用得最多)

3、FlowLayoutPanel

4、跨行跨列:让控件占多个格子

1.5常用控件的应用

1、TextBox(接受用户输入)

2、RadioButton (单选按钮):

3、CheckBox (复选框):

4、ComboBox (下拉框):

1.6DataGridView的应用


一、winForm窗体应用介绍

Windows窗体应用程序, 图形用户界面(GUI)类库,基于事件驱动;
窗体应用方法实现的主要流程:窗体控件→点击按钮→触发Clik事件→调用绑定事件的方法

1.1工具箱的介绍

工具箱包含窗体应用的所有控件,控件是窗体应用的基础;

打开工具箱的方式:

菜单:视图(V) → 工具箱(X)

快捷键:Ctrl+Alt+X

常用的控件

Button

按钮,点击触发 Click 事件

Label

显示文字,用户不能改

TextBox

让用户输入文字

CheckBox

多选,可勾选多项

RadioButton

单选,一组里只能选一个

1.2控件的应用

1、控件的使用流程:

(1)从工具箱把控件拖到窗体上;位置先随意,后面用布局排。

(2)属性窗口把 Name 改成有意义的名字:btnLogin、txtUser。(方便后续代码的编写)

(3)Text 文字、Size 尺寸、Enabled 可用、Dock/Anchor 摆放。

(4)双击控件自动生成 Click 处理函数,在代码里写逻辑。

1.3属性窗口的内容

打开方式:右键窗体点击属性

属性窗口包含:属性、事件、属性名、属性值

属性的作用范围:从整窗到单个控件,再到控件之间的关系包含(窗体属性、控件属性、布局属性)

常用属性

Name

代码里引用控件的名字

btnLogin、txtUser

Text

控件上显示的文字

登录

Size

宽 × 高(像素)

100,100

Font

字体、字号

宋体, 9pt

BackColor / ForeColor

背景色 / 前景色

White / ControlText

Dock

停靠到容器某一边

Top / Fill

1.4布局的重要性

一个单元格只能放一个控件;要在同一格里放多个,就先在格里放容器,再把控件放进容器。

布局=把窗体切成若干区域,区域里还能再布局(嵌套)

开发顺序:① 先布局 ② 再往格子里放控件

思路:先行后列,或先列后行

1、布局的方式(方案一:Panel+Dock)

通过拖拽Panel到窗体,调整Panel属性的Dock值,实现布局

优点:直接操作且直观

缺点:布局简单、限制了布局的多样性和个性化操作

注意事项:同一容器里多个控件,Dock 要设成不同值;Dock = Fill 的控件必须最后添加、最后设置,否则它先占满、别的控件被挤没。

2、TableLayoutPanel(表格用得最多)

通过使用TableLayoutPanel设置初始表格布局实现布局

优点:网格化、快捷操作、美观整洁

3、FlowLayoutPanel

通过使用TableLayoutPanel设置初始布局,TableLayoutPanel是自带控件按方向依次排列,排满自动换行;

优点:适合工具条、按钮组、标签列表这种“一串控件”;

缺点:不适合需要严格对齐的表单

4、跨行跨列:让控件占多个格子

跨行跨列可以提升布局的美观性,以及个性化的操作

通过调整rowSpan=n,跨n行;调整ColumnSpan = n,跨 n 列;

1.5常用控件的应用

1、TextBox(接受用户输入)

Multiline:是否多行 (true多行,false单行)。

PasswordChar:密码掩码字符(如输入*变成密码框)。

AcceptsReturn:是否接受回车键换行(多行时建议设为true)。

ReadOnly:是否只读(true无法修改文本)。

2、RadioButton (单选按钮):

Checked:表示当前是否被选中。

分组核心规则:同一个容器(如 Panel、GroupBox)内的单选按钮互斥。要实现多组单选,必须用不同的容器把按钮隔开。

3、CheckBox (复选框):

支持多选,属性与单选按钮类似。

4、ComboBox (下拉框):

Items:设置下拉选项的集合(编辑器中每行写一个选项)。获取选中项:SelectedItem(获取对象) 或SelectedIndex(获取索引,-1表示未选中)。

1.6DataGridView的应用

DataGridView可以手动添加列名、类型、页眉文本;可以通过手动添加row实现数据的绑定,但是实际操作中需要连接数据库,代码添加更便捷;

dgvStudents.Rows.Add(1001,"张三",18,new DateTime(1990,12,11));
private List<Student> students = new List<Student>(); private List<Student> allStudents = new List<Student>() { new Student(1001,"张三",21,new DateTime(2005,09,21)), new Student(1002,"李四",22,new DateTime(2004,08,11)), };

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进