- 博客(3368)
- 收藏
- 关注

原创 WinForm系列教程
WinForms(Windows Forms)是微软.NET框架中用于构建桌面应用程序的UI工具集,提供了多种常用控件来满足不同的交互需求。应用程序的主窗口容器,所有控件需放置在此上。支持设置标题、图标、大小、边框样式等属性。
2025-05-15 10:23:47
852

原创 Halcon系列教程
缺陷检测解决策略之二blob分析+差分+特征分析_01(毛刺检测)缺陷检测解决策略之二blob分析+差分+特征分析_04(吸嘴检测)检测解决策略之一blob分析+特征分析-01(破碎饼干检测)检测解决策略之一blob分析+特征分析-04(药丸检测)检测解决策略之一blob分析+特征分析-05(划伤检测)缺陷检测解决策略之三频域+空域_03(lcd显示屏检测)缺陷检测解决策略之三频域+空域_02(云纹缺陷检测)缺陷检测解决策略之三频域+空域_01(塑料点检测)缺陷检测解决策略之三频域+空域_04(纹理获取)
2025-05-01 20:19:13
405
原创 Winform之ErrorProvider
/ 加载自定义图标// 方法1:从资源文件加载// 方法2:从文件加载// 调整图标位置(相对于控件)// 必须设置容器控件。
2025-05-16 15:57:46
233
原创 Winform之MonthCalendar
MonthCalendar是WinForms中用于日期选择的控件,支持单日/多日选择、日期范围限制及样式定制。本教程从基础功能到高级配置进行系统性讲解,结合代码示例与场景应用。
2025-05-16 15:55:06
208
原创 Winform之RichTextBox
支持富文本格式(字体、颜色、大小、样式等)可以插入图片、表格等对象支持文本查找和替换提供滚动条以显示大量文本支持撤销/重做操作可以加载和保存 RTF、纯文本甚至 HTML 格式的文件提供文本选择和编辑功能// 添加菜单项ToolStripMenuItem cutItem = new ToolStripMenuItem("剪切");ToolStripMenuItem copyItem = new ToolStripMenuItem("复制");
2025-05-16 15:52:26
787
原创 Winform之FlowLayoutPanel
自动排列子控件(水平或垂直)支持控件自动换行/换列可以控制控件之间的间距支持动态添加和移除控件自动调整大小以适应内容适合创建动态变化的用户界面// 设置所有按钮相同大小// 或者让控件根据内容自动调整大小// 自定义绘制代码// 可以在这里绘制背景或其他装饰// 使用自定义 FlowLayoutPanelFlowLayoutPanel 是 WinForms 中一个非常实用的布局控件,特别适合需要动态添加、排列大量控件的场景。
2025-05-16 15:45:01
866
原创 Winform之TabControl
提供多个选项卡页(TabPage)每个选项卡页可以包含不同的控件用户可以通过点击选项卡标签切换内容支持自定义选项卡外观和行为可以动态添加、移除和重新排序选项卡// 设置选项卡标签的位置在底部// 设置选项卡的大小模式为 FillToRight(自动填充可用空间)// 设置选项卡标签大小// 宽度100,高度30// 使用图像列表为选项卡添加图标// 为选项卡设置图标// 第一个图标// 第二个图标// 获取当前选项卡页。
2025-05-16 15:38:34
394
原创 Winform之SplitContainer
提供两个可调整大小的面板(Panel1 和 Panel2)包含一个可拖动的分隔条(Splitter)支持水平和垂直两种方向允许锁定分隔条位置可以嵌套其他控件SplitContainer 是 WinForms 中一个非常实用的控件,特别适合需要动态调整布局的场景。通过合理使用 SplitContainer,可以创建更加灵活、用户友好的界面。
2025-05-16 15:33:54
522
原创 Winform之GroupBox
提供一个带边框的矩形区域可以添加标题文本通常用于将逻辑相关的控件组合在一起本身不处理用户输入,仅作为容器GroupBox 是 WinForms 中一个简单但非常有用的控件,它通过视觉分组帮助用户理解界面结构,同时作为容器简化了控件的管理。通过合理使用 GroupBox,可以创建更清晰、更易用的用户界面。希望本教程能帮助您掌握 GroupBox 控件的使用方法。在实际开发中,可以根据具体需求灵活运用 GroupBox 的各种特性和功能。
2025-05-16 14:41:20
514
原创 Winform之Panel
/ 创建渐变画刷90f))// 填充背景// 绘制边框// 使用自定义PanelcustomPanel.Controls.Add(new Button { Text = "渐变背景按钮" });分层设计:将复杂界面分解为多个Panel状态管理:使用Tag属性或自定义类存储面板状态响应式布局:实现Resize事件处理或使用AnchorDock性能优化禁用不必要的重绘使用双缓冲减少控件嵌套层级可访问性为Panel设置为子控件提供清晰的标签支持键盘导航。
2025-05-16 14:12:20
747
原创 WinForm之ToolStrip
/ 按下/选中状态90f))// 悬停状态else// 添加边框// 应用自定义渲染器ToolStrip控件通过其强大的扩展性和灵活性,可构建从简单工具栏到复杂操作界面的各种UI组件。分层设计:分离工具栏逻辑与业务逻辑状态管理:实现智能的状态更新机制用户体验:提供清晰的视觉反馈和快捷键支持通过本教程的学习,开发者应能独立完成从基础工具栏到企业级操作界面的开发工作。开发可定制化的工具栏系统实现手势操作支持开发跨平台工具栏组件。
2025-05-16 14:06:03
706
原创 WinForm之ContextMenuStrip
/ 自定义选中样式90f))// 添加边框else// 应用自定义渲染器ContextMenuStrip控件通过其灵活的架构,可实现从简单右键菜单到复杂业务操作面板的全场景覆盖。模块化开发:将菜单逻辑封装为独立服务自动化测试:编写菜单项点击测试用例用户体验优化:实现智能菜单项显示/隐藏逻辑通过本教程的学习,开发者应能独立完成从基础右键菜单到企业级菜单系统的开发工作。与Ribbon控件集成实现Office风格界面开发跨平台菜单系统实现语音控制菜单等创新功能。
2025-05-16 14:00:57
454
原创 WinForm之MenuStrip
/ 应用自定义渲染器MenuStrip控件通过其强大的功能特性,可实现从基础菜单到复杂业务系统的全场景覆盖。分层设计:将菜单数据与UI分离自动化测试:编写菜单项点击测试用例安全实践:防止SQL注入等风险通过本教程的学习,开发者应能独立完成从简单菜单到企业级菜单系统的开发工作。与Ribbon控件结合实现Office风格界面开发跨平台菜单系统实现语音控制菜单等创新功能。
2025-05-16 13:58:08
564
原创 WinForm之StatusStrip
StatusStrip控件通过其灵活的容器特性,可高效实现状态监控、进度展示、快捷操作入口等功能。掌握其核心用法后,可进一步结合NotifyIcon实现系统托盘交互,或与类集成实现Windows 7+的任务栏进度显示。封装状态栏为可复用控件实现多线程安全更新机制结合MVVM模式实现状态与UI解耦通过本教程的学习,开发者应能独立完成从简单状态显示到复杂交互控件的开发工作,为桌面应用程序增添专业级的用户体验。
2025-05-16 13:54:48
546
原创 WinForm之ProgressBar
明确展示任务进度:减少用户等待焦虑支持多线程安全更新:避免UI冻结灵活适配不同场景:从简单进度到复杂多阶段任务实现个性化设计:通过颜色、样式定制增强视觉效果始终在UI线程更新控件合理设计进度反馈粒度对长时间任务提供取消机制考虑无障碍访问需求(如屏幕阅读器支持)掌握 ProgressBar 的高级用法,可以显著提升 WinForms 应用的交互专业度。
2025-05-16 13:50:42
521
原创 WinForm之 TreeView
TreeView 是 WinForms 中实现层次化数据展示的核心控件,适用于文件管理器、组织架构、菜单导航等场景。通过合理使用节点操作、图标定制、复选框、拖放等功能,结合性能优化技巧,可以高效实现复杂的树形结构交互。递归操作时注意防止栈溢出大数据量时优先考虑延迟加载自定义绘制可实现更丰富的视觉效果掌握 TreeView 的高级用法,可以显著提升 WinForms 应用的交互体验。
2025-05-15 13:19:39
323
原创 WinForms之 ListView
ListView 是 WinForms 中功能全面的数据展示控件,适用于复杂交互场景。通过合理使用视图模式、多列数据、复选框、排序等功能,结合性能优化技巧,可以高效实现文件管理、报表生成等需求。开发者需根据实际场景选择控件,并注重代码的清晰性与可维护性。
2025-05-15 12:48:34
785
原创 WinForm之DataGridView
/ 跳过不需要自定义绘制的单元格// 绘制默认单元格背景// 绘制自定义内容(示例:绘制库存状态图标)16, 16);// 标记为已处理// 如果没有处理,绘制默认内容if (!// 绘制边框DataGridView通过其丰富的功能集(数据绑定、单元格类型定制、事件处理、样式控制等)可满足从简单表格展示到复杂企业级应用的各种需求。掌握其核心API(如DataSourceColumns集合、事件)和设计模式(如MVVM、虚拟模式)能够显著提升开发效率。
2025-05-15 12:37:26
866
原创 WinForms之LinkLabel
linkLabel1.Text = "特殊协议处理: mailto:support@example.com";// 调用邮件客户端eLinkLinkDataToStringSubstring7");break;// 调用拨号程序eLinkLinkDataToStringSubstring4");break;default:// 默认网页打开break;
2025-05-15 12:20:35
610
原创 Winform之CheckBox
CheckBox通过其灵活的状态管理和事件机制,可高效实现配置选项、权限控制、调查问卷等场景。掌握其核心API(如CheckedThreeState)和事件处理(如),能够快速构建用户友好的多选界面。在复杂应用中,可结合数据绑定、自定义绘制等技术实现更高级的功能,如全选/取消全选、状态持久化等。
2025-05-15 12:16:00
718
原创 Winform之RadioButton
RadioButton通过分组机制和状态管理,可高效实现配置选项、调查问卷、表单选择等场景。掌握其核心API(如CheckedGroupBox)和事件处理(如),能够快速构建用户友好的选择界面。在复杂应用中,可结合数据绑定、自定义绘制等技术实现更高级的功能。
2025-05-15 12:13:00
619
原创 WinForms之PictureBox
PictureBox通过灵活的图像加载、显示模式和事件机制,可满足从简单图像展示到复杂图像处理的多样化需求。掌握其核心API(如ImageSizeMode)和事件处理(如ClickDragDrop),能够高效实现图片浏览器、相册应用等业务逻辑。在处理大图像时,需特别注意内存管理和性能优化(如双缓冲、异步加载)。
2025-05-15 12:09:56
648
原创 WinForm之DateTimePicker
常用格式示例格式字符串示例输出说明2023-11-15年-月-日11/15/2023月/日/年星期三, 十一月 15日完整星期+月份+日“HH:mm:ss”14:30:4524小时制时间代码示例dateTimePicker1.CustomFormat = "yyyy年MM月dd日 dddd";// 输出如"2023年11月15日 星期三"DateTimePicker通过灵活的格式配置和事件机制,可满足从简单日期选择到复杂日期范围验证的多样化需求。掌握其核心API(如Value。
2025-05-15 12:07:45
755
原创 WinForm之CheckedListBox
CheckedListBox通过灵活的属性和事件机制,可满足从简单多选到复杂数据绑定的多样化需求。掌握其核心API(如)和事件处理(如ItemCheck),能够高效实现表单选择、批量操作等业务逻辑。结合数据库交互时,需注意数据绑定模式下的状态管理差异。
2025-05-15 11:56:49
532
原创 Winform之ListBox
/ 设置DrawMode为OwnerDrawFixed// 根据条件设置不同颜色else// 交替行颜色else// 绘制文本// 绘制选中边框。
2025-05-15 11:42:46
863
原创 Winform之ComboBox
/ 自定义绘制下拉项(需要设置DrawMode为OwnerDrawFixed或OwnerDrawVariable)// 根据条件设置不同颜色else// 绘制文本// 创建自定义类表示多列数据set;set;// 显示Name列// 初始化多列ComboBox// 设置行高// 添加数据new MultiColumnItem { Name = "产品A", Value = "1001" },
2025-05-15 11:35:06
657
原创 WinForms之 Label
/ 创建渐变画笔// 填充背景// 绘制文本(使用自定义颜色)// 使用示例gradientLabel.Text = "渐变背景标签";
2025-05-15 10:44:47
667
原创 Winform之TextBox(ConvertTo()数据类型转换)
TextBox(文本框)是 Windows Forms 应用程序中最常用的输入控件之一,它允许用户输入和编辑文本。:如何获取文本框中的所有文本。:文本框无法输入中文。:多行文本框无法换行。
2025-05-15 10:38:44
988
原创 C#之MVC模式
Model(模型):表示应用程序的数据和业务逻辑View(视图):负责显示数据(用户界面)Controller(控制器):处理用户输入,协调模型和视图之间的交互MVC模式为C#应用程序开发提供了一种结构化、可维护的方法。提高代码可维护性:清晰的组件边界使代码更易于理解和修改增强可测试性:可以独立测试每个组件促进团队协作:不同开发人员可以同时处理不同组件实现更好的可扩展性:更容易添加新功能或修改现有功能记住,MVC不是银弹,但对于大多数Web应用程序来说,它是一个经过验证的、可靠的选择。
2025-05-13 15:04:33
616
原创 C#之递归
递归是一种编程技术,其中函数调用自身来解决问题。递归通常用于解决可以分解为相似子问题的问题。明确基本情况和递归情况:确保递归能够终止考虑性能影响:对于深度递归或重复计算,考虑优化注意栈溢出风险:对于大输入,可能需要转换为迭代利用记忆化:缓存中间结果提高效率保持代码可读性:适当的注释和日志有助于理解递归过程通过合理应用递归,您可以编写出简洁、优雅且功能强大的C#代码。记住,递归不是万能的,但在适当的问题域中,它能提供比迭代更直观的解决方案。
2025-05-13 14:42:58
957
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人