WinForm 工具箱内容剖析
分类 | 控件名称 | 图标特征描述 | 核心作用 | 基础使用方法 | 关键属性 / 事件 | |
---|---|---|---|---|---|---|
公共控件 | Button | 矩形按钮,通常带文字 | 触发用户交互操作(如提交、取消、跳转) | 拖入窗体 → 双击编写 Click 事件 → 实现具体逻辑(如弹窗、数据提交) | Text (按钮文字)、Click 事件 | |
CheckBox | 方框 + 勾选标记 | 多选场景,允许独立选择多个选项 | 拖入窗体 → 通过 Checked 属性获取 / 设置状态 → CheckedChanged 事件响应状态变化 | Checked (是否勾选)、CheckedChanged 事件 | ||
CheckedListBox | 列表项前带复选框 | 带勾选功能的列表,支持批量选择和状态遍历 | 拖入窗体 → 用 Items.Add() 添加选项 → 通过 CheckedItems 集合获取所有勾选项 | CheckedItems (勾选项集合)、CheckOnClick (点击立即勾选) | ||
ComboBox | 下拉箭头 + 输入框 | 提供下拉选项列表,支持输入或选择预设值,节省界面空间 | 拖入窗体 → Items.AddRange() 添加选项 → SelectedItem /SelectedIndex 获取选中值 | DropDownStyle (下拉样式)、SelectedIndexChanged 事件 | ||
DateTimePicker | 日历图标 + 日期文本 | 快速选择日期 / 时间,避免手动输入格式错误 | 拖入窗体 → 设置 Format 定义显示格式(如 yyyy-MM-dd )→ Value 属性获取 / 设置日期时间 | Value (选中的日期时间)、Format (显示格式) | ||
Label | 纯文本(通常为静态文字) | 显示说明性文字(标题、提示、标签),不可编辑 | 拖入窗体 → 修改 Text 属性设置显示内容 → 可调整 Font 、ForeColor 美化样式 | Text (显示文本)、AutoSize (自动适应文本大小) | ||
LinkLabel | 带下划线的文字(类似超链接) | 模拟超链接效果,点击可触发跳转或特定逻辑 | 拖入窗体 → 设置 Text 为链接文字 → LinkClicked 事件中实现跳转(如打开网页、导航到其他窗体) | LinkColor (链接颜色)、LinkClicked 事件 | ||
ListBox | 垂直列表框 | 展示一组选项,支持单选或多选,选中后触发相关逻辑 | 拖入窗体 → Items.Add() 添加选项 → SelectedIndexChanged 事件响应选中状态变化 | SelectionMode (选择模式)、SelectedItems (选中项集合) | ||
ListView | 多列列表 / 图标列表样式 | 展示复杂结构化数据(如文件列表、商品信息),支持多视图模式 | 拖入窗体 → 添加 Columns 定义列 → Items.Add() 添加行,SubItems 填充列数据 → 设置 View 切换视图 | View (视图模式)、Columns (列集合)、ItemSelectionChanged 事件 | ||
MaskedTextBox | 带格式限制的输入框 | 强制输入符合特定格式(如手机号、身份证号、日期) | 拖入窗体 → 设置 Mask 属性定义格式(如 000-0000-0000 )→ Text 获取格式化后内容 | Mask (输入格式)、ValidatingType (验证类型) | ||
MonthCalendar | 完整月份日历视图 | 直观选择单个日期或日期范围,比 DateTimePicker 更适合范围选择 | 拖入窗体 → 通过 SelectionStart 和 SelectionEnd 获取选中的日期范围 → 可设置 MaxDate /MinDate 限制范围 | SelectionRange (选中范围)、DateSelected 事件 | ||
NotifyIcon | 系统托盘小图标 | 程序最小化时在系统托盘显示图标,支持右键菜单和气泡提示 | 拖入窗体 → 设置 Icon 加载图标 → 绑定 ContextMenuStrip 作为右键菜单 → ShowBalloonTip() 显示气泡提示 | Icon (托盘图标)、ContextMenuStrip (右键菜单) | ||
NumericUpDown | 带上下箭头的数字输入框 | 限定数字输入范围,支持通过箭头或直接输入调整数值 | 拖入窗体 → 设置 Minimum /Maximum 定义范围 → Value 属性获取 / 设置当前数值 → Increment 定义步长 | Value (当前数值)、Minimum /Maximum (范围) | ||
PictureBox | 相框样式,用于显示图片 | 加载并显示图片(本地文件、资源或网络图片),支持缩放和裁剪 | 拖入窗体 → 通过 Image 属性加载图片 → 设置 SizeMode 控制显示方式(如拉伸、居中、自适应) | Image (显示的图片)、SizeMode (显示模式) | ||
ProgressBar | 水平进度条 | 展示任务进度(如文件下载、数据加载),直观反馈操作进度 | 拖入窗体 → 设置 Maximum 为总进度值(如 100)→ 动态修改 Value 属性更新进度 | Value (当前进度)、Maximum (总进度)、Style (进度条样式) | ||
RadioButton | 圆形单选框 | 单选场景,同一组内选项互斥(只能选择一个) | 拖入窗体 → 将同组选项放入 GroupBox 或 Panel → Checked 属性判断是否选中 → CheckedChanged 事件响应 | Checked (是否选中)、GroupName (分组名称) | ||
RichTextBox | 多行富文本编辑框 | 支持富文本编辑(字体、颜色、格式),可插入图片、表格,适合复杂文本处理 | 拖入窗体 → Text 属性获取纯文本 → RTF 属性获取富文本格式 → AppendText() 追加内容 | RTF (富文本格式)、SelectionFont (选中文字字体) | ||
TextBox | 单行 / 多行文本输入框 | 基础文本输入控件,支持单行输入、多行输入或密码框模式 | 拖入窗体 → 设置 Multiline=true 启用多行 → PasswordChar='*' 设为密码框 → Text 获取输入内容 | Text (输入文本)、Multiline (是否多行)、PasswordChar (密码掩码) | ||
ToolTip | 小问号提示图标(隐藏,触发显示) | 鼠标悬浮时显示提示文字,辅助说明控件功能,不占用界面空间 | 拖入窗体 → 通过 SetToolTip(控件, "提示文字") 绑定控件 → 鼠标悬浮时自动显示 | ToolTipTitle (提示标题)、InitialDelay (显示延迟时间) | ||
TreeView | 层级树状结构(含父 / 子节点) | 展示层级关系数据(如文件夹目录、组织架构) | 拖入窗体 → Nodes.Add() 添加根节点 → 子节点通过 Nodes 嵌套添加 → AfterSelect 事件响应节点选择 | Nodes (节点集合)、AfterSelect 事件、ShowPlusMinus (显示展开 / 折叠按钮) | ||
WebBrowser | 浏览器图标 + 网页视图 | 嵌入浏览器内核,用于显示网页、HTML 内容或本地 HTML 文件 | 拖入窗体 → Navigate("url") 打开网页 → DocumentText 属性加载 HTML 字符串 | Url (当前网址)、Document (文档对象)、Navigated 事件 | ||
容器控件 | FlowLayoutPanel | 流式布局容器图标 | 自动按行 / 列排列子控件,超出边界自动换行,适应不同分辨率 | 拖入窗体 → 设置 FlowDirection 定义排列方向(如左到右、上到下)→ 拖入子控件后自动排版 | FlowDirection (流动方向)、WrapContents (是否自动换行) | |
GroupBox | 带标题的边框容器 | 逻辑分组控件(如 “用户信息”“登录选项”),增强界面可读性 | 拖入窗体 → 修改 Text 设置分组标题 → 向内部拖入其他控件(按钮、输入框等) | Text (分组标题)、FlatStyle (边框样式) | ||
Panel | 空白面板容器 | 区域划分、滚动控制或批量管理控件(如隐藏 / 显示一组控件) | 拖入窗体 → 设置 AutoScroll=true 启用滚动条 → 可通过 Visible 属性控制显示 / 隐藏 | AutoScroll (是否启用滚动)、Visible (是否可见) | ||
SplitContainer | 带分割条的双面板容器 | 将窗体分割为两个可调整大小的区域(左右或上下),拖动分割条改变比例 | 拖入窗体 → 设置 Orientation 定义分割方向(水平 / 垂直)→ 向两个面板中拖入控件 | Orientation (分割方向)、SplitterDistance (分割条位置) | ||
TabControl | 多标签页容器(类似浏览器标签) | 通过标签页切换不同功能区,节省界面空间(如 “基本信息”“高级设置”) | 拖入窗体 → 右键 “添加选项卡” 创建 TabPage → 每个标签页中添加对应控件 | TabPages (标签页集合)、SelectedIndex (当前选中标签索引) | ||
TableLayoutPanel | 表格网格布局容器 | 按行列网格精确排列控件,支持单元格合并、比例调整,适配窗体拉伸 | 拖入窗体 → 设置 RowCount /ColumnCount 定义行列数 → 向单元格中拖入控件 → 设置 RowStyles 定义行高比例 | RowStyles (行样式)、ColumnStyles (列样式)、GrowStyle (扩展方式) | ||
菜单和工具栏 | ContextMenuStrip | 右键菜单图标 | 控件或窗体右键点击时弹出的菜单,含自定义选项(如 “复制”“删除”) | 拖入窗体 → 添加 ToolStripMenuItem 定义菜单项 → 为目标控件的 ContextMenuStrip 属性赋值绑定 | Items (菜单项集合)、ItemClicked 事件 | |
MenuStrip | 顶部菜单栏图标(如 “文件”“编辑”) | 窗体顶部的多级菜单,组织程序核心功能(如 “文件→打开”“编辑→复制”) | 拖入窗体 → 点击 “请在此输入” 添加主菜单 → 子菜单通过嵌套添加 → 为菜单项编写 Click 事件 | Items (主菜单项集合)、MdiWindowListItem (多文档窗口列表) | ||
StatusStrip | 底部状态栏图标 | 显示程序状态信息(如 “就绪”“当前用户”),可包含进度条、标签等小控件 | 拖入窗体 → 添加 ToolStripStatusLabel 显示文字 → 或添加 ToolStripProgressBar 显示进度 | Items (状态栏项集合)、SizingGrip (右下角调整大小手柄) | ||
ToolStrip | 快捷工具栏图标(含图标按钮) | 放置常用功能按钮(如 “新建”“保存”),支持图标 + 文字,提升操作效率 | 拖入窗体 → 添加 ToolStripButton 并设置 Image 图标 → 编写 Click 事件实现功能 | Items (工具项集合)、Dock (停靠位置)、GripStyle (拖动手柄样式) | ||
ToolStripContainer | 工具栏容器(含上下左右区域) | 承载 ToolStrip 控件,自动管理工具栏位置,中间区域放主内容 | 拖入窗体 → 将 ToolStrip 拖入上下左右区域 → 中间区域放置其他控件(如 Panel 、ListView ) | TopToolStripPanel (顶部面板)、BottomToolStripPanel (底部面板) | ||
组件控件 | BackgroundWorker | 后台任务图标(齿轮 + 箭头) | 异步执行耗时操作(如文件下载、数据计算),避免阻塞 UI 线程 | 拖入窗体 → 在 DoWork 事件中编写耗时逻辑 → RunWorkerCompleted 事件处理结果 → 调用 RunWorkerAsync() 启动 | WorkerReportsProgress (是否支持进度报告)、DoWork /RunWorkerCompleted 事件 | |
DirectoryEntry | 活动目录对象图标(文件夹 + 用户) | 操作 Windows 活动目录(AD),读取 / 修改域用户、组信息 | 拖入窗体 → 引用 System.DirectoryServices → 通过 Path 属性指定 LDAP 路径 → 访问属性获取信息 | Path (LDAP 路径)、Properties (属性集合) | ||
DirectorySearcher | 活动目录搜索图标(文件夹 + 放大镜) | 搜索活动目录中的对象(如按条件查询用户、组),配合 DirectoryEntry 使用 | 拖入窗体 → 关联 DirectoryEntry 实例 → 设置 Filter 定义查询条件 → 调用 FindAll() 获取结果 | Filter (查询过滤器)、SearchScope (搜索范围) | ||
ErrorProvider | 错误提示图标(叉号 + 气泡) | 表单验证时在控件旁显示错误图标和提示文字,替代弹窗,更友好 | 拖入窗体 → 验证失败时调用 SetError(控件, "错误信息") → 验证通过设为空字符串清除提示 | Icon (错误图标)、SetError 方法 | ||
EventLog | 系统日志图标(记事本 + 事件) | 读写 Windows 系统事件日志(应用程序、系统、安全日志),用于记录程序行为 | 拖入窗体 → 设置 Source 定义日志源 → WriteEntry() 写入日志 → Entries 读取日志内容 | Source (日志源)、Log (日志名称)、WriteEntry 方法 | ||
FileSystemWatcher | 文件系统监控图标(文件夹 + 眼睛) | 监听指定目录的文件变化(创建、删除、修改、重命名) | 拖入窗体 → 设置 Path 定义监控目录 → Filter 指定文件类型 → 订阅 Changed /Created 等事件 | Path (监控路径)、Filter (文件过滤器)、EnableRaisingEvents (是否启用监控) | ||
HelpProvider | 帮助文档图标(问号 + 文件) | 关联帮助文档(.chm 文件),用户按 F1 或点击帮助图标时显示 | 拖入窗体 → 设置 HelpNamespace 指定帮助文件路径 → 为控件设置 HelpKeyword 关联主题 | HelpNamespace (帮助文件路径)、SetHelpKeyword 方法 | ||
ImageList | 图片集合图标(多张缩略图) | 集中管理图片资源,为 ListView TreeView 等控件提供统一图标 | 拖入窗体 → 点击 “图像集合” 添加图片 → 其他控件通过 SmallImageList 属性关联 | Images (图片集合)、ImageSize (图片尺寸) | ||
MessageQueue | 消息队列图标(队列 + 信封) | 操作 Windows 消息队列,实现进程间异步通信、解耦系统 | 拖入窗体 → 引用 System.Messaging → 设置 Path 定义队列路径 → Send() 发送消息、Receive() 接收消息 | Path (队列路径)、Send /Receive 方法 | ||
PerformanceCounter | 性能计数器图标(图表 + 指针) | 监控系统性能指标(CPU 使用率、内存占用、磁盘 IO 等) | 拖入窗体 → 设置 CategoryName (如 “Processor”)和 CounterName (如 “% Processor Time”)→ NextValue() 获取值 | CategoryName (计数器类别)、CounterName (计数器名称) | ||
Process | 进程控制图标(程序 + 箭头) | 启动、监控或终止外部进程(如打开记事本、关闭浏览器) | 拖入窗体 → 通过 StartInfo 设置进程启动参数 → Start() 启动进程 → Kill() 终止进程 | StartInfo (启动信息)、HasExited (是否已退出) | ||
SerialPort | 串口通信图标(DB9 接口 + 信号) | 与硬件设备通过串口通信(如单片机、传感器、打印机) | 拖入窗体 → 设置 PortName (如 “COM1”)和 BaudRate (如 9600)→ Write() 发送数据、DataReceived 接收数据 | PortName (端口名称)、BaudRate (波特率)、DataReceived 事件 | ||
ServiceController | 服务控制图标(齿轮 + 服务) | 管理 Windows 服务(启动、停止、暂停、查询状态) | 拖入窗体 → 设置 ServiceName (服务名称)→ Start() /Stop() 控制服务 → Status 属性获取状态 | ServiceName (服务名称)、Status (服务状态) | ||
Timer | 定时器图标(时钟) | 按指定间隔触发事件,执行周期性任务(如每秒刷新数据、定时保存) | 拖入窗体 → 设置 Interval 定义间隔(毫秒)→ 启用 Enabled=true → Tick 事件中编写定时逻辑 | Interval (间隔时间)、Tick 事件、Enabled (是否启用) | ||
打印控件 | PageSetupDialog | 页面设置图标(纸张 + 设置) | 弹出页面设置对话框,允许用户自定义打印纸张、边距、方向等 | 拖入窗体 → 关联 PrintDocument 实例 → ShowDialog() 弹出对话框 → 设置自动应用到打印文档 | Document (关联的打印文档)、ShowDialog 方法 | |
PrintDialog | 打印对话框图标(打印机) | 弹出打印对话框,选择打印机、设置份数、页码范围,触发打印操作 | 拖入窗体 → 关联 PrintDocument → ShowDialog() 弹出 → 确认后调用 PrintDocument.Print() | Document (打印文档)、AllowSelection (是否允许选择打印范围) | ||
PrintDocument | 打印内容图标(文档 + 打印机) | 定义打印内容和逻辑,是打印功能的核心载体 | 拖入窗体 → 在 PrintPage 事件中通过 Graphics 绘制内容(文字、图形)→ 调用 Print() 执行打印 | PrintPage 事件(绘制打印内容)、DefaultPageSettings (默认页面设置) | ||
PrintPreviewControl | 打印预览控件图标(文档 + 放大镜) | 嵌入窗体的打印预览控件,直接显示 PrintDocument 的内容 | 拖入窗体 → 设置 Document 属性关联 PrintDocument → 运行时自动显示预览内容 | Document (关联的打印文档)、Zoom (缩放比例) | ||
PrintPreviewDialog | 打印预览对话框图标(窗口 + 预览) | 弹出独立对话框显示打印预览,支持缩放、打印、页面设置 | 拖入窗体 → 关联 PrintDocument → ShowDialog() 弹出对话框 → 用户可在其中操作预览内容 | Document (打印文档)、ShowDialog 方法 | ||
对话框控件 | ColorDialog | 颜色选择图标(调色板) | 弹出颜色选择器,允许用户选择颜色并应用到控件(如背景色、文字色) | 拖入窗体 → ShowDialog() 弹出 → 确认后通过 Color 属性获取选中颜色 → 应用到目标控件 | Color (选中的颜色)、AllowFullOpen (是否允许自定义颜色) | |
OpenFileDialog | 文件打开图标(文件夹 + 打开) | 弹出文件选择对话框,用于选择一个或多个文件(如打开文档、加载图片) | 拖入窗体 → 设置 Filter 限制文件类型(如 “文本文件 | *.txt”)→ ShowDialog() 确认后通过 FileName 获取路径 | FileName (选中的文件路径)、Multiselect (是否允许多选) | |
FolderBrowserDialog | 文件夹选择图标(文件夹 + 箭头) | 弹出文件夹选择对话框,用于选择目录路径(如保存路径、备份目录) | 拖入窗体 → ShowDialog() 弹出 → 确认后通过 SelectedPath 获取选中的文件夹路径 | SelectedPath (选中的文件夹路径)、RootFolder (根目录) | ||
FontDialog | 字体选择图标(A + 字体列表) | 弹出字体选择对话框,用于设置文字的字体、大小、样式(粗体、斜体等) | 拖入窗体 → ShowDialog() 弹出 → 确认后通过 Font 属性获取选中字体 → 应用到文本控件(如 RichTextBox ) | Font (选中的字体)、ShowColor (是否显示颜色选择) | ||
SaveFileDialog | 文件保存图标(文件夹 + 保存) | 弹出文件保存对话框,用于指定保存路径、文件名和格式(如保存文档、导出数据) | 拖入窗体 → 设置 Filter 和 DefaultExt (默认扩展名)→ ShowDialog() 确认后通过 FileName 获取保存路径 | FileName (保存路径)、DefaultExt (默认扩展名) |
以上表格涵盖了 WinForm 工具箱中几乎所有常用控件,包括其核心功能、使用方法及关键属性 / 事件,可作为开发时的快速参考。实际开发中,可根据具体需求组合使用不同控件,并结合布局属性(如 Anchor
、Dock
)优化界面适配性。
推荐博文
Winform下的画板https://www.cnblogs.com/xiacuncun/p/18399364