Winform---常用控件、属性、事件详情介绍
Winform控件是可再用的组件,封装了用户界面功能,并且可以用于客户端 Windows 应用程序。Windows 窗体不仅提供了许多现成控件,还提供了自行开发控件的基础结构。可以组合现有控件、扩展现有控件或创作自己的自定义控件。
本篇就为大家分享一下Winform中常用的控件和属性以及事件的详细介绍,非常适合初学者,和复习者。
本篇包含Winform三十一个控件以及属性和事件的介绍。
目录
[1.Form 窗体组件](#1.Form 窗体组件)
[常用属性 :](#常用属性 :)
[2.lable 用于显示文字](#2.lable 用于显示文字)
[3.textBox 输入框](#3.textBox 输入框)
[4.Button 按钮](#4.Button 按钮)
[5. panel 面板](#5. panel 面板)
[6. checkBox 多选框](#6. checkBox 多选框)
[7.RadioButton 单选框](#7.RadioButton 单选框)
[8.pictureBox 显示图片](#8.pictureBox 显示图片)
[9.TaBControl 选项卡](#9.TaBControl 选项卡)
[10.ComboBox 下拉菜单](#10.ComboBox 下拉菜单)
[如果需要添加多个元素 可以放进数组进行遍历](#如果需要添加多个元素 可以放进数组进行遍历)
[11.DateTimePicker 选择日期和时间](#11.DateTimePicker 选择日期和时间)
[12.DataGridView 表格](#12.DataGridView 表格)
[13. richTextBox 富文本](#13. richTextBox 富文本)
[14. timer 定时器](#14. timer 定时器)
[15. progressBar 进度条](#15. progressBar 进度条)
[16. SplitContainer 分割容器](#16. SplitContainer 分割容器)
[17.MonthCalendar 日历](#17.MonthCalendar 日历)
[18. MenuStrip 导航菜单](#18. MenuStrip 导航菜单)
[19. contexMenuStrip 右键菜单](#19. contexMenuStrip 右键菜单)
[20.statusStrip 状态菜单栏](#20.statusStrip 状态菜单栏)
[21. GroupBox 在组件周围显示一个带有标题的框架](#21. GroupBox 在组件周围显示一个带有标题的框架)
[22. NumericUpDown 显示用户通过单击空间上的上下按钮可以增加和减少的单个数值](#22. NumericUpDown 显示用户通过单击空间上的上下按钮可以增加和减少的单个数值)
[23. maskedTextBox1 输入框(用于区分输入格式)](#23. maskedTextBox1 输入框(用于区分输入格式))
[24. FlowLayoupanel 容器 它与panel的区别是它可以把子组件进行自动排列](#24. FlowLayoupanel 容器 它与panel的区别是它可以把子组件进行自动排列)
[25. imagelist组件 是一个存储图片的集合](#25. imagelist组件 是一个存储图片的集合)
26.listview 以五种不同视图中的一种显示项的集合
[26. listbox 使用于显示一组选项,并且可以使用用户进行选择](#26. listbox 使用于显示一组选项,并且可以使用用户进行选择)
[27. trackbar组件 用于调整音量](#27. trackbar组件 用于调整音量)
[28. axWindowsMediaPlayer1组件 音乐播放器](#28. axWindowsMediaPlayer1组件 音乐播放器)
[29. ColorDialog 表示一个通用对话框,该对话框显示可用的颜色以及允许用户定义自定义颜色的控件。](#29. ColorDialog 表示一个通用对话框,该对话框显示可用的颜色以及允许用户定义自定义颜色的控件。)
[30. OpenFileDialog 显示一个标准对话框,提示用户打开文件。 此类不能被继承。](#30. OpenFileDialog 显示一个标准对话框,提示用户打开文件。 此类不能被继承。)
[31.ColorDialog 字体对话框](#31.ColorDialog 字体对话框)
[Click 点击](#Click 点击)
[MouseEnter 鼠标移入](#MouseEnter 鼠标移入)
[MouseLeave 鼠标移开](#MouseLeave 鼠标移开)
[MouseMove 鼠标移动](#MouseMove 鼠标移动)
[MouseUp 鼠标移开](#MouseUp 鼠标移开)
[FormLoad 窗体加载事件](#FormLoad 窗体加载事件)
LocationChanged(Location属性更改时)
[TextChanged 输入框输入内容改变的事件](#TextChanged 输入框输入内容改变的事件)
[SelectedChanged 选中状态变化的事件](#SelectedChanged 选中状态变化的事件)
[FormClosing 正在关闭时候触发](#FormClosing 正在关闭时候触发)
[KeyDown 键盘按下触发](#KeyDown 键盘按下触发)
[KeyUp 松开按键触发](#KeyUp 松开按键触发)
[KeyPress 键盘按压触发](#KeyPress 键盘按压触发)
[CheckedChanged 当单选框或多选框,选项发生变化时触发](#CheckedChanged 当单选框或多选框,选项发生变化时触发)
[Tick 定时器事件,当定时器改变时触发](#Tick 定时器事件,当定时器改变时触发)
[PlayStateChange事件,作用: 监听axWindowsMediaPlayer组件播放音乐](#PlayStateChange事件,作用: 监听axWindowsMediaPlayer组件播放音乐)
SelectedIndexChanged事件,当listbox组件选项发生改变时触发
Winform---常用控件
1.Form 窗体组件
##### 常用属性 :
> * AutoScaleMode 确定当屏幕分辨率或字体更改是窗体或控件将如何缩放
>
> * text 标题
>
> * MaximizeBox: 窗口是否可以最大化
>
> * MinimizeBox: 窗体是否可以最小化
>
> * WindowState: 窗体初始化的大小, Normal正常,Maximized最大化,Minimized最小化
>
> * StartPostion: 窗体开始运行出现的位置
>
> * FormBorderStyle: 窗体的边框样式: None无边框 FixedSingle窄边框,单框 FixedDialog窗体体边框的风格改为和对话框的风格 fixed3d窗体风格设为3d SizeAble正常的窗体样式
>
> * icon: 窗体图标 必须是ico的格式
>
> * Size属性: 窗体的大小,可以直接修改
>
> * Font 字体大小
>
> * fontcolor 字体颜色
2.lable 用于显示文字
##### 常用属性
> * Name: 指的控件的唯一的表示 类似id属性,每一个控件Nmae不能冲突
>
> * Text:设置文本内容
>
> * autoSize: 是否可以设置大小 true 不能设置lable的大小 ; false 可以设置大小宽度和高度
>
> * TextAlign: 对齐方式
>
> * ForeColor: 字体颜色
>
> * font: 设置字体(大小,规范)
>
> * backColor: 背景颜色
>
> * borderstyle:边框类型
>
> * cursor: 鼠标样式
>
> * Anchor :设置锚点
3.textBox 输入框
##### 常用的属性
> * PassWordChar: 密码加密
>
> * Multiline: 设置输入单行或多行
>
> * maxLength: 设置输入框内可以输入多少内容
>
> * ReadOnly: 只读属性 true 不能输入 false 可以输入
4.Button 按钮
##### 常用属性
> * Backgroundmage 设置窗体背景图片
>
> * FlatStyle 设置按钮边框样式
5. panel 面板
##### 常用属性
> * bordercolor 边框
>
> * Font 字体大小
>
> * size面积
-
(panel也被称为容器,此组件内可以放置其他组件)
6. checkBox 多选框
##### 常用的属性
> * checked: 是否选中
>
> * checkalign 对齐方式
>
> * threState: 多选框形态
>
> * FlatStyle 设置选项选中样式
-
多选框和单选框一般需要在panel组件内使用
7.RadioButton 单选框
##### 常用属性
*
> checked: 是否选中状态
8.pictureBox 显示图片
##### 常用属性
> * SizeMode 图片显示方式
>
> * image 添加图片
-
通过代码添加图片
-
普通路径 img.Image = Image.FromFile("路径");
-
网络路径 this.pictureBox1.ImageLocation = (list[Count]);
-
9.TaBControl 选项卡
##### 常用属性
*
> TabPages 添加选项卡
10.ComboBox 下拉菜单
##### 常用属性
*
> items 添加下拉内容
##### 通过代码添加下拉内容
*
> this.comboBox1.Items.Add("山东省");
*
##### 如果需要添加多个元素 可以放进数组进行遍历
-
-
-
string[] strings = new string[] { "新疆省", "福建省" };
-
for (int i = 0; i < strings.Length; i++) { this.comboBox1.Items.Add(strings[i]); }
-
-
选中下拉内容的索引值 this.comboBox1.SelectedIndex = 0;
-
11.DateTimePicker 选择日期和时间
##### 常用属性
> * formation 日期格式
>
> * 1 Long: 长日期时间格式 比如: 2023年10月2日
>
> * 2 Short: 短日期格式 比如: 2023/10/2
>
> * 3 time: 时间日期格式 比如:11:05
>
> * 4 custom: 自定义时间格式 以自己设置显示方式显示时间
>
> * Value 初始日期
##### 自定义时间格式
> * // 先将日期格式设为自定义
>
> * this.dateTimePicker1.Format = DateTimePickerFormat.Custom; // 具体设置日期显示方式 字符串格式
>
> * this.dateTimePicker1.CustomFormat = "MMMM dd ,yyy-ddd";
##### 具体设置日期显示方式
*
> this.dateTimePicker1.CustomFormat = "MMMM dd ,yyy-ddd";
12.DataGridView 表格
##### 常用属性
> * AllowUserToDeleteRows 是否显示多余的一行
>
> * ScrollBars 滚动条
>
> * Columns 设置标题属性
>
> * RowHeadersVisible 指示是否显示包含行标题的列。
##### 用法
*
###### 添加
*
> 一次性添加一整行:
>
> this.dataGridView1.Rows.Add(new string\[\] { 元素1, 元素2, 元素3, 元素4 });
*
> 一次添加一个单元格:
>
> int index =this.data1.Rows.Add(); (需要先获取索引) this.dataGridView1.Rows\[index\].Cells\[0\].Value = 元素; (添加)
*
###### 查询
*
> 单个查询:
>
> dataGridView1.Rows\[0\].Cells\[0\].value (如果需要查询所有元素的话可以使用双重循环)
*
> 找到当前选中的一行的索引:
>
> dataGridView1.CurrentRow.Index
*
###### 删除
*
> 删除一行: dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
*
> 删除所有的行: dataGridView1.Rows.Clear();
*
> 删除所有的列: dataGridView1.Columns.Clear()
*
###### 绘制表格
* 方法
*
```cs
public static void DgvStyle1(DataGridView dgv)
{
// 未显示数据时候背景颜色
dgv.BackgroundColor = System.Drawing.SystemColors.ButtonFace;
// 显示数据时候背景颜色
dgv.RowsDefaultCellStyle.BackColor = System.Drawing.Color.Black;
// 设置网格的颜色
dgv.GridColor = System.Drawing.Color.Red;
// 设置列表题边框的模式
dgv.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
// 设置行的边框模式
dgv.RowHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single;
// 表格的默认样式不可见
dgv.EnableHeadersVisualStyles = false;
dgv.ForeColor = Color.White;
// 设置列的宽度高度 单位是px
dgv.ColumnHeadersHeight = 35;
// 设置列标题宽度可以被修改
dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
}
```
* 使用
*
> 使用的时候直接在构造函数中调用该方法就行 参数是需要绘制的表格 DgvStyle1(this.dataGridView1);
*
###### 绘制表格行号
* 方法
```cs
// 给表格添加行号
public static void DgvRowCount(DataGridView dgv,DataGridViewRowPostPaintEventArgs e)
{
// 设置一个笔刷 包含绘制图形的样式,带了表格行的默认字体颜色
SolidBrush s1 = new SolidBrush(dgv.RowHeadersDefaultCellStyle.ForeColor);
// 行号
int num = e.RowIndex + 1;
string numstring = num.ToString();
// DrawString 绘制字符串
e.Graphics.DrawString(numstring,e.InheritedRowStyle.Font,s1,e.RowBounds.Location.X+15,e.RowBounds.Location.Y +5);
}
```
* 使用
* 使用的时候需要在该表格中添加一个RowPostPaint事件,在该事件中调用行号的方法(当表格添加一次数据调用一次该方法)
*
```cs
private void dataGridView1_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{ Common.DatagridviewStyle.DgvRowCount(dataGridView1, e); }
```
*
###### 给单元格添加Click事件
```cs
// 第一步添加给表格添加CellClick单元格点击事件
// 第二步在事件中判断点击的是那个单元格
private async void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == dataGridView1.Columns["Column5"].Index && e.RowIndex >=0)
{
button1_Click(null, null);
}
else if (e.ColumnIndex == dataGridView1.Columns["Column4"].Index && e.RowIndex >= 0)
{
button1_Click(null, null);
}
}
```
##### 表格的数据源的几种的形式的区别
* 1 List泛型集合数据 (使用此方法给表格赋值时需要将表格中columns集合中的属性值修改与表格相对应) dataGridView1.DataSource = list
*
> 使用方法: this.dataGridView1.DataSource = list
* 2 dataSet数据集 里面有DataTable属性, 如果有俩个select数据,就会出现2个DataTable,一般情况下都是 使用一个select,所以一般从dataSet.Tables\[0\],取出数据源即可 可以RowFiter方法对dataset数据进行过滤,按照一定条件进行筛选想要的数据 例如 按照班级筛选成绩,按照大小进行筛选 dataGridView1.DataSource = dataSet.Tables\[0\]
*
> 使用方法: this.dataGridView1.DataSource = this.ds.Tables\[0\];
13. richTextBox 富文本
##### 用法
* 如果需要在中端修改组件属性则需要创建一个对话框的对象 字体对话框对象:
*
> FontDialog f = new FontDialog();
>
> f.ShowDialog()==DialogResult.ok
* 字体颜色对话课对象:
*
> ColorDialog c = new ColorDialog();
>
> c.ShowDialog()====DialogResult.ok
* 选中字体的颜色 SelectionColor
* 选中字体的背景颜色 SelectionBackColor
* 选中文本的字体 SelectionFont
14. timer 定时器
##### 常用属性
> * interval 定时器间隔 (单位是毫秒)
>
> * Enabled 是否启动定时器
##### 使用
> * this.timer1.Stop(); // 关闭定时器
>
> * this.timer1.Start(); // 开启定时器
>
> * this.timer1.Interval = 1000; // 修改执行的频率(每隔一秒执行)
15. progressBar 进度条
##### 常用属性
> * Value 进度值
>
> * Maximum 设置进度条的最大值
>
> * Minimum 设置进度条的最小值
>
> * Step 进度条的递增量
16. SplitContainer 分割容器
##### 常用属性
*
> FixedPanel 选中那个窗体那个窗体不会改变大小
-
作用:
- 把窗体一分为二,可以放置其他的组件在两个容器里面
17.MonthCalendar 日历
18. MenuStrip 导航菜单
##### 常用属性
*
> items 设置菜单的标题的集合
> * Alignment 设置菜单的排列方式
>
> * margin 外边距
>
> * padding 内边距
>
> * image 设置图标
>
> * imageAlign 设置图标排列方式
##### 设置快捷方式
*
> 点击打卡DropDwnItems集合属性,找到需要添加快捷键的按钮,然后找到ShortcutKeys属性 添加快捷按键
19. contexMenuStrip 右键菜单
##### 使用方法
*
> 把右键菜单拖拽到窗体上,添加菜单标题,选中label控件(也可以是其他控件),在属性面板里面找到contextmenustrip属性选择对应菜单即可
20.statusStrip 状态菜单栏
##### 常用属性:
*
> Items 属性集合 可以在集合内设置其他组件
> * progressBar 进度条
>
> * StatusLabel 显示文本
>
> * DropDownButton 按钮图标
>
> * splitButton 菜单图标
-
作用
- 默认在窗体最下面 可以设置进度条 也可以添加下拉按钮,也可以添加文本等待
21. GroupBox 在组件周围显示一个带有标题的框架
22. NumericUpDown 显示用户通过单击空间上的上下按钮可以增加和减少的单个数值
23. maskedTextBox1 输入框(用于区分输入格式)
24. FlowLayoupanel 容器 它与panel的区别是它可以把子组件进行自动排列
25. imagelist组件 是一个存储图片的集合
this.listView1.View = View.LargeIcon; // 设置listview展示风格为大图标风格。
this.listView1.LargeImageList = this.imageList1; // listview图标的来源
this.listView1.SmallImageList = this.imageList1; // 设置小图标风格
26.listview 以五种不同视图中的一种显示项的集合
##### 常用属性
* 通过view属性设置listview组件的五种风格
> * 1 Largelcon 每个项都为一个最大化图标,在图标下面有一行文字标题
>
> * 2 Smalllcon 每个项为一个最小化的图标,在图标右面有一行文字标题
>
> * 3 Details 每个项显示不同行上,并带有关于列中所有排列的进一步信息,最左边的列包含了一个小图标和标签
>
> * 4 list 每个项都为一个小图标 右边有一个标签,各项排列在列中 没有列标头
>
> * 5 Tile每一项都显示一个完整大小的图标,
##### 手搓属性
> * this.listView1.GridLines = true; // 在行与列之间是否显示网格线
>
> * this.listView1.CheckBoxes = true; // 选项框
>
> * 添加列标题 clumns 列 this.listView1.Columns.Add("学生学号");
>
> * this.listView1.Columns\[0\].Width = 200; // 设置列宽度,第二列宽度
>
> * items.add() 添加一个新行 给新行添加子元素的时候 通过 Subltems.Add() 添加 this.listView1.Items.Add("001"); this.listView1.Items\[0\].SubItems.Add("张三");
>
> * // 创键一行的对象 ListViewItem li = new ListViewItem("003"); li.SubItems.Add("王五");
26. listbox 使用于显示一组选项,并且可以使用用户进行选择
##### 使用方法
> * item属性
>
> * Items 属性是 ListBox 中的所有选项集合,我们可以通过以下方式将选项添加到 ListBox 中
>
> * 添加单个选项: listBox1.Items.Add("选项1");
>
> * 添加多个选项: string\[\] items = { "选项2", "选项3", "选项4" }; listBox1.Items.AddRange(items);
>
> * // 遍历获取 ListBox 中已选中的所有选项 foreach (var item in listBox1.SelectedItems) { // item 为 ListBox 中一项选项的信息 }
>
> * SelectedIndex属性
>
> * SelectedIndex 属性是 ListBox 中已选中选项的索引值。当用户选中 ListBox 中的某个选项时,该属性会更新为所选项的索引值。
>
> * // 获取当前 ListBox 所选项的索引值 int selectedIndex = listBox1.SelectedIndex;
>
> * SelectedItems属性
>
> * // 获取当前 ListBox 所选项的文本信息 string selectedItem = listBox1.SelectedItem.ToString();
27. trackbar组件 用于调整音量
28. axWindowsMediaPlayer1组件 音乐播放器
-
此组价需要导入第三方库方可使用:
// 1 引用-->添加引用-->com类型库--->window media player
// 2 随意找一个控件右键 选择项--com组件---window media player 点击确定
//3 在工具箱搜索window media player
##### 播放音乐
*
> this.axWindowsMediaPlayer1.URL = "路径"; //获取路径 this.axWindowsMediaPlayer1.Ctlcontrols.play();// 播放
##### 歌曲进度
> * this.axWindowsMediaPlayer1.Ctlcontrols.currentPosition; // 当前进度
>
> * this.axWindowsMediaPlayer1.currentMedia.duration// 歌曲总进度
##### 播放音量
*
> axWindowsMediaPlayer1.settings.volume // 代表音量
##### 播放状态
* axwindowmediapalyer 播放器 默认有这几个状态 (playState 播放器的状态)
*
> // 播放状态: playState=3
>
> // 暂停状态 playState=2
>
> // 停止状态 playState=1
>
> //正在缓存 playState=6 /
>
> / 播放结束 playState=8
##### 暂停播放
*
> this.axWindowsMediaPlayer1.Ctlcontrols.pause(); //暂停播放
29. ColorDialog 表示一个通用对话框,该对话框显示可用的颜色以及允许用户定义自定义颜色的控件。
##### 使用方法:
*
> DialogResult r = colorDialog1.ShowDialog(); // 显示对话框
>
> if (r == DialogResult.OK) // 判断用户是否点击ok
>
> { this.BackColor = colorDialog1.Color; // 获取设置的颜色 }
30. OpenFileDialog 显示一个标准对话框,提示用户打开文件。 此类不能被继承。
##### 使用方法
*
> DialogResult r = openFileDialog1.ShowDialog(); // 显示对话框
>
> if (r == DialogResult.OK) // 判断用户是否点击确定
>
> { MessageBox.Show(openFileDialog1.FileName.ToString()); // 获得选择的文件路径 }
31.ColorDialog 字体对话框
Winform常用事件
##### Click 点击
#### MouseEnter 鼠标移入
##### MouseLeave 鼠标移开
##### MouseMove 鼠标移动
##### MouseUp 鼠标移开
##### FormLoad 窗体加载事件
##### FormClosing(窗体正在关闭时显示)
##### Activated(窗体被激活时)
##### SizeChanged(窗体Size属性更改时)
##### Resize(调整窗体大小时)
##### LocationChanged(Location属性更改时)
##### TextChanged 输入框输入内容改变的事件
##### SelectedChanged 选中状态变化的事件
##### FormClosing 正在关闭时候触发
##### KeyDown 键盘按下触发
##### KeyUp 松开按键触发
##### KeyPress 键盘按压触发
##### CheckedChanged 当单选框或多选框,选项发生变化时触发
##### Tick 定时器事件,当定时器改变时触发
##### ValueChanged事件是trackbar组件的事件
##### PlayStateChange事件,作用: 监听axWindowsMediaPlayer组件播放音乐
##### SelectedIndexChanged事件,当listbox组件选项发生改变时触发
##### Paint事件,当组件从新绘制时触发
本篇文章到此结束,转载请附上原创网址,谢谢!!!