常用控件
本章介绍几个常用的控件
如 TextBox, CheckBox, ComoboBox .
列表、表格、树控件、图片框控件后面有介绍
学习控件的使用 : 百度+官方文档
1。属性
-行为:功能相关的属性
-外观:显示相关的属性
-杂项:该控件特有的属性
2。事件
文本框
==TextBox ==文本框
用于输入单行或多行文本,常用单行输入模式
相关属性:
–设计
Name :变量名
–外观
Text:文本
Font: 字体
设计
创建新项目,在工具箱,公共控件中,找到TextBox,拖动到窗口中
发现此控件 可以水平方向拉伸变宽,但垂直方向上不可更改
设置name 属性
此时观察Form1.Designer.cs
发现设置的name 属性,就是字段名
外观
显示相关的属性
Text 表示这个文本框要显示的文本
字体颜色
行为
Multiline :
单行模式/多行模式(默认为单行False)
改为True
此时发现,该文本框是可以上下拖动的
PasswordChar :
如果设置,则变成密码输入框
设置为* ,则输入的字符,都变为 *
ReadOnly :
只读模式
提示:不要全部试一遍,而是等需要的时候再来找
相关事件:
KeyPress:按键事件,常用于回车处理
添加OnMyKeyPress
也可以在这里直接按下回车,系统自动创建方法
用户的按下的按键,在keypresseventargs参数中
运行程序
复选框
CheckBox 复选框
相关属性:
(外观)Text:文本显示
(外观)Checked:是/否
Checked 表示的是勾选状态
相关事件:
(操作)Click:点击动作
直接回车创建方法
(杂项)CheckedChanged:选中状态发生变化
使用的是console,所以只能在调试状态下看到打印效果
此时点击复选框,看输出面板打印效果
练习
练习:显示一个TextBox和一个CheckBox。
当选中时,以明文显示;取消选中时,以密码显示
运行
默认情况,未勾选
勾选状态
要点与细节
1区分两种事件
Click:用户手动点击
CheckedChanged :状态值发生变化,可能是用户点击,也可能是程序代码改变了这个值
例如,
checkBox1.Checked = true; 会触发CheckedChanged,不会触发Click。
下拉列表
ComboBox拉列表
1 添加数据项
在设计器里直接编辑
----属性|数据lItems
也可以在构造方法里手工添加
----comboBox1.Items.Add(“red”);
2 获取选中的项
SelectedItem:选中项的值,null表示未选中
SelectedIndex:选中项的索引,-1表示未选中
运行结果
3 事件
事件|行为I SelectedIndexChanged
运行结果
手动强制选择一个选项,也会触发SelectedIndexChanged事件
运行,默认选择的就是第零项
要点与细节
1 ComboBox里的数据项可以是任意类型
可以是string,也可以是自定义的类型
列表框
ListBox 列表框
两方面的功能:
—展示:展示一些项给用户看
—选择:让用户单选/或多选
属性:
(行为)SelectionMode:单选/多选
运行结果
事件:
(行为)SelectedIndexChanged
要点与细节
1列表项数据可以是任意类型 object
本例中使用的是 Student 类型
实际在列表时,会调用 Student.ToString()来显示
2 界面显示优化,如行高、自定义显示在下一篇:WinForm高级篇
练习 学生信息编辑
练习:实现一个学生信息的编辑器
-学号,姓名,性别,手机号
-将数据保存到文件
-启动时从文件读取
界面预览
1 界面布局
添加需要的控件
修改显示文本 Text
手工对齐
修改控件名 Name
本例重点是业务逻辑,不使用布局器
2 保存功能
点保存时,将界面的数据保存到文件中
添加 NewtonSoft.json支持
添加按钮事件处理
将数据保存为JSON,存到文件中
3加载功能
当程序启动时,自动读取 student.txt中的数据
在构造方法中加载
读取文件,转成JSON
将数据显示到界面