自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ByteGeek

---- 山穷水复疑无路,柳暗花明又一村!

  • 博客(92)
  • 收藏
  • 关注

原创 WinForm真入门(23)---PictureBox 控件详细用法

PictureBox 可作为绘图面板使用,结合 Paint 事件和 Graphics 对象进行图形绘制。可通过 Image.FromFile() 或 Image.FromStream() 加载图像文件。Image 属性用于设置或获取 PictureBox 中要显示的图像。可以在设计时或运行时设置。可通过 Bitmap 和 Graphics 对图像进行剪切、缩放等操作。该属性用于设置图像的路径或 URL,适用于从本地文件或网络加载图像。不同的 SizeMode 设置会影响图像的显示效果和控件大小。

2026-02-01 22:32:49 429

原创 C#中定时器之System.Timers.Timer

System.Timers.Timer 是 .NET 框架中用于创建基于时间间隔的定时器类,它属于 System.Timers 命名空间。这个定时器类设计用于多线程环境中的服务器或服务组件,没有用户界面,在运行时不可见。

2026-01-31 21:38:16 412

原创 C# 中的定时器 System.Threading.Timer用法

System.Threading.Timer是C#中基于线程池的定时器类,用于在指定时间间隔执行回调方法。通过TimerCallback委托指定回调函数,可设置延迟时间和周期时间(毫秒)。关键特性包括线程池执行不阻塞主线程、支持参数传递等。使用时需注意回调方法签名为void MethodName(object state),更新UI需通过Invoke方法,且必须手动释放资源避免内存泄漏。适用于高性能后台任务处理场景。

2026-01-28 22:56:12 561

原创 WinForm真入门(22)---定时器控件System.Windows.Forms.Timer

摘要:System.Windows.Forms.Timer是专为WinForm设计的定时器控件,基于Windows消息循环机制实现。它所有事件都在UI线程执行,适合界面更新任务,无需处理线程同步问题。核心特性包括Interval属性设置间隔、Tick事件处理周期性代码,以及简单的Start/Stop方法控制。其优势是UI集成度高、使用简单,但存在55毫秒精度限制且不能用于控制台程序。典型应用场景包括时钟显示、进度更新等需要定时刷新界面的WinForm程序。与其他定时器相比,它最大的特点是始终在UI线程执行,

2026-01-27 23:26:21 957

原创 WinForm真入门(21)——MenuStrip控件解析

Winform中的MenuStrip控件是创建菜单栏的核心组件,它继承自ToolStrip类,支持多级菜单设计(建议不超过三级)。通过窗体设计器可直观地拖放和编辑菜单项,双击即可添加事件处理程序。也可用代码动态创建:MenuStrip的Items集合存放顶层菜单项(ToolStripMenuItem),每个菜单项的DropDownItems集合定义其子菜单。示例代码展示了如何创建包含"文件"、"编辑"等标准菜单及其点击事件处理,实现基本的菜单功能。

2025-12-15 06:30:00 474

原创 WinForm真入门(20)——StatusStrip控件解析

StatusStrip控件使用指南 StatusStrip是Windows窗体应用程序底部的状态栏控件,用于显示程序运行状态、操作提示等信息。它支持多种子控件: ToolStripStatusLabel:显示文本状态 ToolStripProgressBar:展示进度 ToolStripDropDownButton:带下拉菜单的按钮 开发时可通过设计器拖拽或代码动态添加控件,示例展示了如何创建包含账号信息、角色标签(红色文字)、进度条(60%)和版本的状态栏。该控件常用于显示设备连接状态、系统时间和操作进度

2025-11-29 22:29:58 494

原创 WinForm真入门(19)——ToolStrip控件解析

本文介绍了Windows Forms中的ToolStrip控件及其使用方法。ToolStrip是创建工具栏、菜单栏和状态栏的核心控件,支持多种子项类型如按钮、标签、下拉框等。文章详细说明了在Visual Studio中添加ToolStrip的步骤,演示了如何通过属性面板和项集合编辑器添加和配置各项,并展示了为ToolStripLabel添加Click事件的方法。最后提到可以通过Dock属性设置工具栏的停靠位置,并鼓励读者自行探索其他属性设置。该控件为构建现代化用户界面提供了灵活便捷的解决方案。

2025-11-29 21:51:19 821

原创 C# async / await 用法以及和Task的关系

本文介绍了C# 5.0中async/await关键字在异步编程中的应用。async用于声明异步方法,该方法会自动返回Task或Task<T>对象;await用于等待异步操作完成,期间不会阻塞主线程。文章通过WinForm示例展示了如何实现非阻塞的异步操作流程,当执行await时,当前方法暂停并等待异步任务完成,同时允许UI保持响应。强调async/await并非实现异步,而是简化异步编程的工具,通常与Task配合使用,通过暂停/恢复执行流程来提升程序性能。

2025-11-17 22:25:17 1358

原创 C#中Task的详细用法

.NET中的Task类是异步编程的核心组件,封装异步操作并提供丰富功能。它支持后台执行、状态跟踪(Running/Faulted等)、结果返回(Task<T>)、任务取消(CancellationToken)和延续任务(ContinueWith)。主要用法包括:Task.Run启动后台任务,await异步等待,Task<T>获取返回值,ContinueWith处理任务链。需注意避免阻塞(如Task.Result死锁),推荐使用Task.WhenAll并行执行。通过Cancellati

2025-11-16 21:18:48 896

原创 WinForm真入门(18)——DateTimePicker‌控件解析

DateTimePicker‌ 是 Windows 窗体中用于选择日期和时间的控件,支持以下交互方式, 通过下拉日历选择日期, 通过上下按钮调整时间,直接输入日期或时间,适用于需要规范日期格式、限制日期范围或快速输入的场景(如预约系统、数据筛选)

2025-04-27 22:16:58 982

原创 WinForm真入门(17)——NumericUpDown控件详解

NumericUpDown 是 Windows 窗体中用于数值输入的控件,由文本框和上下调节按钮组成

2025-04-27 21:45:04 1023

原创 WinForm真入门(16)——LinkLabel 控件详解

以下是 WinForm 中 LinkLabel 控件的基本概念、核心属性、事件及典型应用案例的总结:LinkLabel 是 WinForm 中用于显示超链接文本的控件,继承自 Label,支持单链接或多链接区域。用户点击链接时可触发自定义行为(如打开网页、执行操作等)‌。‌LinkClicked‌:用户点击链接时触发,需在此事件中处理跳转或操作。

2025-04-14 22:53:17 648

原创 WinForm真入门(15)——NumericUpDown控件详解

NumericUpDown 是 WinForm 中的数值输入控件,由文本框和上下调节按钮组成,用户可通过点击按钮、方向键或直接输入调整数值。适用于需要精确范围控制的场景(如年龄、数量、参数配置等)‌

2025-04-14 22:36:58 727

原创 WinForm真入门(14)——ListView控件详解

ListView 是 WinForm 中功能强大的列表控件,适用于 ‌多列数据展示‌ 和 ‌复杂交互场景‌,而 ListBox 更适合 ‌简单选项选择‌。通过合理使用 Details 视图、Columns 和 SubItems,可高效实现文件管理、报表生成等需求‌。开发者需结合场景选择控件,并注意性能优化与交互逻辑的完善。

2025-04-10 23:13:55 2510

原创 WinForm真入门(13)——ListBox控件详解

ListBox 是 WinForm 中灵活且功能丰富的列表控件,通过合理使用 Items 集合、SelectionMode 及事件机制,可实现动态数据管理、多选交互等复杂场景。开发时需注意性能优化和索引逻辑,避免常见错误‌。

2025-04-10 22:50:10 1360

原创 WinForm真入门(12)——RadioButton控件详解

RadioButton 的核心在于‌分组互斥逻辑‌和‌事件响应‌。通过合理使用容器控件和共享事件方法,可高效实现复杂选择场景。实际开发中需注意初始化状态和分组边界,避免逻辑冲突。

2025-04-10 22:11:54 1172

原创 WinForm真入门(11)——ComboBox控件详解

ComboBox 是 WinForms 中一个集文本框与下拉列表于一体的控件,支持用户从预定义选项中选择或直接输入内容。以下从核心属性、事件、使用场景到高级技巧的全面解析

2025-04-08 20:48:44 4122

原创 WinForm真入门(10)——CheckBox控件详解

在 WinForm 中,CheckBox 控件是一个用于表示布尔状态(选中/未选中)的核心组件。它广泛应用于配置选项、表单提交、条件筛选等场景。以下是 ‌CheckBox 的详细解析‌,涵盖属性、事件、使用技巧和实际案例。

2025-04-08 20:20:30 1691

原创 WinForm真入门(9)——RichTextBox控件详解

RichTextBox是WinForm中功能强大的富文本编辑控件,支持字体、颜色、段落格式、图像嵌入、超链接等复杂功能。以下从基础到高级功能全面解析

2025-04-06 22:57:13 2208

原创 WinForm真入门(8)——TextBox控件详解

‌通过掌握TextBox的核心功能与扩展技巧,能够高效构建用户友好的输入界面,同时结合数据验证和性能优化,确保应用稳定可靠

2025-04-06 22:54:32 1508

原创 WinForm真入门(7)——Button控件详解

Button(按钮)是 WinForm 中最基础的交互控件,用于触发操作(如:点击登录按钮进入系统)或提交数据(如:写好请假申请后,点击提交,把申请提交给上一级)。以下是其核心功能、高级用法及实践技巧的全面解析:‌1. 动态创建按钮‌通过代码生成按钮并绑定事件:‌2. 自定义按钮样式‌‌圆角按钮‌:覆盖 OnPaint 方法实现自定义绘制:‌带图标的按钮‌:使用 Image 和 ImageAlign 属性:‌3. 防止重复点击‌在异步操作中禁用按钮,避免重复提交:‌4. 快捷键绑定‌‌通过

2025-04-04 23:15:15 1718

原创 WinForm真入门(5)——控件的基类Control

Control 的定义与作用‌‌,基类地位‌:Control 是 System.Windows.Forms 命名空间下的核心基类,所有可视化控件(如 Button、TextBox)和非容器控件(如 Panel、Form)均继承自它。‌核心功能‌:提供控件的‌通用行为‌,包括位置、大小、渲染、事件处理、消息循环等,是构建用户界面的基石。

2025-04-04 22:36:16 1602

原创 WinForm真入门(4)——窗体和控件、属性和事件 的基本概念

前言:既然是WinForm真入门教程,首先是一些基础概念,要先掌握,才能更快德熟悉使用WinForm。概念如果不清,入起门来说 费劲。本章还是基础概念:窗体和控件、属性和事件。这些在Winfom中无处不在,必须牢牢掌握!

2025-04-02 21:47:12 1035

原创 C# 中充血模型和‌贫血模型

在C#中,‌充血模型(Rich Domain Model)‌和‌贫血模型(Anemic Domain Model)‌是两种截然不同的领域建模方式,核心区别在于‌业务逻辑的归属‌。

2025-04-02 20:19:09 1144 1

原创 WinForm真入门(6)——Lable控件详解

Label 是 WinForm 中最基础的文本展示控件,通过灵活使用其属性和事件,可以实现数据绑定、动态样式和复杂交互。掌握透明背景、多行文本和跨线程更新等技巧,可显著提升开发效率和用户体验。

2025-04-01 23:12:12 1201

原创 WinForm真入门(3)——窗体设计器

‌为什么使用窗体设计器?‌‌提高开发效率‌:无需手动编写 UI 初始化代码。‌直观易用‌:所见即所得(WYSIWYG)的设计方式。降低错误率‌:自动生成的代码结构清晰,减少手写错误。

2025-04-01 22:24:20 3116

原创 WinForm真入门(2)——ApplicationContext类

ApplicationContext 类为 WinForm 应用程序提供了更细粒度的生命周期控制能力,尤其适合需要管理多窗体或复杂退出逻辑的场景。通过继承与扩展,开发者可灵活定制消息循环行为,提升代码的可维护性‌

2025-03-31 22:31:28 1227

原创 WinFrom真入门(1)——Windows窗体应用概念

用Winform开发的桌面程序,是在Windows操作系统上运行的,这个不用多说。窗体(Form)的作用‌:窗体是用户交互的容器,承载按钮、文本框等控件,构成应用程序的界面‌。在Windows操作系统中,窗体(窗口)所处可见,例如:一个标准的窗体其实就是一块矩形区域,客户区域指的是窗口内部区域。除去标题兰和边框外的区域可视为内部区域,称为客户区域。我们开发人员可以在窗口的客户区域中放置控件,也可以在其中绘制出咱们所需要的图形。WinForm程序的项目的结构,如下图:Main()方法是程序的入口,这几行代

2025-03-30 23:51:59 1633

原创 WinForm真入门-简介

‌WinForm‌(Windows Forms)是微软基于 ‌.NET Framework‌ 构建的桌面应用程序开发框架,主要用于创建具有图形用户界面(GUI)的 Windows 客户端程序。其核心以窗体(Form)为容器,通过可视化控件和事件驱动模型实现用户交互,适用于企业级工具、本地数据处理和快速原型开发场景‌

2025-03-30 00:07:19 1111

原创 C# 的Lambda表达式‌常见用法和示例

简洁性‌:比匿名方法更短的语法。灵活性‌:支持闭包、异步、表达式树等高级场景。可读性‌:使代码更接近“做什么”而非“怎么做”。集成性‌:深度融入 LINQ、异步编程、EF Core 等框架。

2025-03-25 22:53:56 945

原创 C#中的Lambda表达式‌

Lambda表达式是C#函数式编程的核心工具,通过极简语法和强大功能,显著提升了代码的可读性和灵活性。结合闭包、表达式树和类型推断,它在LINQ、异步操作和高效集合处理中不可或缺。理解其底层机制(如委托分配、闭包行为)和性能影响,有助于编写更健壮、高效的代码。

2025-03-25 22:37:28 1605

原创 C# 匿名方法讲解

在C#中,‌匿名方法‌(Anonymous Methods)是一种允许在不显式定义命名方法的情况下,直接内联声明方法体的语言特性。它通过delegate关键字实现,主要用于简化委托(Delegate)的实例化过程,尤其适用于需要临时定义简单方法的场景

2025-03-25 22:16:04 589

原创 C# 属性(Property)‌详解

在 C# 中,‌属性(Property)‌ 是类或结构体中的成员,用于封装对私有字段(称为 ‌backing field‌)的访问,提供更灵活和安全的数据操作方式。属性通过 get 和 set 访问器控制对数据的读写,是面向对象编程中封装思想的核心实践。

2025-03-24 23:47:14 1389

原创 串口通信与Modbus通信的区别和联系

串口通信是物理传输的“高速公路”,而Modbus是公路上行驶的“交通规则”‌。两者结合可实现稳定、标准化的工业设备通信,但也可独立服务于不同场景‌。

2025-03-23 21:58:30 1522

原创 C# 反射(Reflection)详解

C# 反射是处理动态类型和元数据的强大工具,广泛应用于插件系统、序列化、ORM 等场景。尽管其灵活性极高,但需谨慎使用以避免性能问题和代码维护困难。‌优化策略‌(如缓存、表达式树)和‌合理设计‌(如接口隔离)是高效使用反射的关键。

2025-03-23 21:51:29 1818

原创 Winform在工控行业对比Wpf的优势?

WinForms:由于其广泛的使用和较少的依赖性,维护和更新WinForms应用程序通常较为简单。WPF:WPF使用DirectX进行渲染,这通常意味着在某些复杂的图形和动画场景下,WPF可以提供更流畅的体验。然而,在工控环境中,如果界面设计不复杂且主要关注数据展示而非复杂的动画和效果,WinForms的性能优势可能更为明显。它的控件是基于GDI+绘制的,这在某些情况下可以提供更好的性能,尤其是在处理大量图形或控件重绘时。WPF:虽然WPF提供了更现代的开发体验和更好的图形处理能力,但它不是向后兼容的。

2025-03-22 13:56:24 1703

原创 C# 集合(Collection)详解以及区别

‌集合类型‌‌ 内部结构‌‌‌ 时间复杂度(平均)‌‌ ‌适用场景‌List‌‌‌动态数组‌‌ 索引访问O(1),中间增删O(n)‌‌ 通用动态数据存储‌ 哈希表‌‌查找/插入/删除接近O(1)‌‌高频键值查询LinkedList‌双向链表‌插入/删除O(1)‌(需先查找节点)HashSet‌ 哈希表‌查找/插入/删除O(1)‌‌去重、集合运算(交/并集)SortedSet‌红黑树‌插入/删除O(log n)‌‌ 需要有序唯一元素的场景。

2025-03-21 23:42:52 1255

原创 ‌C# I/O 核心用法

1‌、核心原则‌资源管理‌:使用 using 或 try/finally 确保资源释放。‌异常处理‌:捕获特定异常,避免程序崩溃。‌性能优化‌:流式处理大文件,异步避免阻塞。2‌、适用场景‌‌简单操作‌:优先使用 File 的静态方法。‌复杂控制‌:使用 FileStream 或 MemoryMappedFile。‌跨平台‌:通过 Path.Combine 处理路径分隔符。掌握这些内容后,可以高效处理各类文件 I/O 需求,并规避常见陷阱。

2025-03-20 23:01:07 1444

原创 C# 资源管理‌(using 语句)

1‌、始终用 using 处理一次性对象‌:避免手动调用 Dispose()。1‌、对象必须实现 IDisposable‌:否则无法使用 using。2‌、优先使用 using 声明(C# 8.0+)‌:简化代码结构。2‌、静态引入‌(C# 6.0+):直接引用静态成员。1、别名引入‌:解决命名冲突。‌2. 数据库连接‌。

2025-03-20 22:42:47 2452

原创 Winform优化控件布局性能 SuspendLayout 和 ResumeLayout 方法详解

在窗体加载时,向一个 Panel 中动态添加 100 个按钮,并使用 SuspendLayout 避免频繁的界面刷新。在开始批量修改控件前,调用控件的 SuspendLayout 方法,暂停布局逻辑的自动计算。在此阶段进行属性修改、控件添加/删除等操作。ResumeLayout(true) 的作用‌。SuspendLayout 的作用‌。try-finally 保障‌。

2025-03-19 21:51:57 1538

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除