- 博客(12)
- 收藏
- 关注
原创 C#中Invoke和BeginInvoke的区别
摘要:WinForms中Invoke(同步)和BeginInvoke(异步)的核心区别在于线程阻塞与执行顺序。Invoke会阻塞调用线程直到UI操作完成,适用于需同步读取UI值的场景(如textBox.Text),但易引发死锁;而BeginInvoke非阻塞,通过消息队列实现异步更新(推荐默认使用),严格保证FIFO顺序且适合高频数据刷新(如传感器实时显示)。
2025-12-12 11:21:29
526
原创 C# async/await 和 await Task.Run 的区别
async/await和await Task.Run在.NET异步编程中的区别与适用场景。
2025-11-27 16:26:31
897
原创 winform框架下软件实现本地化
5.当我们修改完中文(默认)和英文模式后,在窗体资源文件中会出现2个.resx文件,带“en”的就是英文,另一个就是默认。3.此时,选择窗体界面上的控件,对控件Text属性进行修改,并且在英文界面可以对控件的位置、大小等属性重新排布,如图。4.如果需要将界面切换到到中文模式,也就是我们系统默认模式,将窗体属性"Language"属性修改为“默认”即可。2.点击当前窗体属性,并设置"Language"和"Localizable"两个参数。当然,也可以双击打开资源文件,在资源文件中修改英文名称。
2025-05-29 16:27:06
426
原创 解决“未在本地计算机上注册microsoft.ACE.oledb.12.0提供程序”的方法
摘要:解决C#调用Access数据库时"未注册Microsoft.ACE.OLEDB.12.0提供程序"错误的方法:1)检查代码中数据库连接字符串的正确性;2)将项目目标平台改为X64;3)安装对应位数的Microsoft Access Database Engine 2010组件。注意组件版本需与系统平台(32/64位)匹配。
2025-05-29 16:01:38
5247
原创 C# async/await 异步编程
/ 异步操作// 模拟耗时操作C# 中的异步编程通过async和await关键字实现,能够显著提高程序的响应性和性能。它特别适用于 I/O 密集型操作、UI 应用程序和 Web 应用程序等场景。通过合理使用异步编程,可以编写出高效、简洁且易于维护的代码。
2025-02-18 10:23:21
1143
原创 C# 串口通讯
在封装的通讯类中创建一个DataReceivedEvent公共事件,通过DataReceivedEvent事件将类内部datareceived事件接收的数据发送到调用该类的地方进行处理。在DataSendAndRead方法中,接收的字节数组可根据实际情况解析成相应数据格式,当前格式已解析为十六进制。DataSendAndRead方法是同步方法,当数据接收和发送是按顺序完成的。此方法使用数据传输安全性高的场景,当发送接收失败、通讯超时等问题会提示异常。1.发送完数据立即读取缓冲区数据,并返回接受数据。
2025-02-13 11:54:41
449
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅