当前位置:首页 » 密码管理 » winform跨线程访问控件

winform跨线程访问控件

发布时间: 2024-12-05 18:27:29

A. C# 简易TCP网口调试助手(一) 客户端Client

最近在开发上位机过程中,经常需要用到网口和串口通讯,网上的资料和开源代码并不多。下面我将介绍一个实用的TCP通讯工具包,并详细记录使用步骤。

这个博客旨在记录我学到的知识,方便以后查阅。同时,我也会注明来源,感兴趣的读者可以前往详细了解。

实现效果如下:右侧的测试程序可以收发数据,检测连接状态。即使在5000多行数据量的情况下,也不会出现数据错误,速度也很快,完全满足个人工作需求。重点是使用“STTech.ByteslO.Tcp”这个nuget包。

在开发过程中,我使用了以下环境:

开发工具:Visual Studio 2022

用户界面框架:winform

框架版本:.NET Framework 4.8

接下来是项目搭建步骤:

1. 新建winform项目

选择“Windows窗体应用(NET Framework)”项目,输入项目名称为TCP_Client,使用框架为.NET Framework 4.8。

2. 添加nuget包

右键项目,添加TCP的nuget包,使用STTech.ByteslO.Tcp,版本为2.14.6-alpha0225。在nuget管理界面的浏览页面下搜索bytesio,找到nuget包,点击安装并确定。

3. 创建界面

放入容器控件groupbox、工具条控件ToolStrip和显示属性的PropertyGrid控件。groupbox的text改为“连接信息”,ToolStrip增加两个text类型的文本按钮:连接、断开。PropertyGrid的dock设为Fill,并将控件置于顶层。再加两个groupbox容器,放置右侧,内部各塞一个 RichTextBox。

以下是主要代码编写内容:

1. TcpClient的创建和“连接”、“断开”按钮的简单代码实现

代码如下:

2. TcpClient的“数据接收”、”连接状态“的事件函数处理 和 “发送”按钮的简单代码实现

代码如下:

其中,跨UI线程的解决方式和原出处不同。原出处是通过关闭跨UI线程报错来解决问题,这里是调用Form的Invoke方法跨线程访问控件。

总结:STTech.ByteslO.Tcp这个nuget包使用起来很好,上手快,大数据量收发无错误。winform跨UI线程调用界面控件可以使用Invoke来实现。

热点内容
循迹小车算法 发布:2024-12-22 22:28:41 浏览:82
scss一次编译一直生成随机数 发布:2024-12-22 22:04:24 浏览:956
嫁接睫毛加密 发布:2024-12-22 21:50:12 浏览:975
linuxbin文件的安装 发布:2024-12-22 21:46:07 浏览:798
vlcforandroid下载 发布:2024-12-22 21:45:26 浏览:664
电脑做网关把数据发送至服务器 发布:2024-12-22 21:44:50 浏览:432
新华三代理什么牌子的服务器 发布:2024-12-22 21:33:21 浏览:342
欢太会员密码是什么 发布:2024-12-22 20:57:28 浏览:74
sqllocaldb 发布:2024-12-22 20:07:08 浏览:126
如何找到我的服务器 发布:2024-12-22 19:52:14 浏览:301