當前位置:首頁 » 密碼管理 » 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 瀏覽:431
新華三代理什麼牌子的伺服器 發布: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