Private Sub Run_btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Run_btn.Click
Thread_Main = New Thread(AddressOf Templ_chark)
Thread_Main.Start()
Loop_Mark = True
End Sub
Public Sub Templ_chark()
While Loop_Mark = True
Me.Invoke(New Thread_New(AddressOf Main_loop))
End While
End Sub
Public Sub Main_loop()
Modbus_Comunication(DataGridView1(3, 0).Value.ToString)
End Sub
Private Sub Stop_btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Stop_btn.Click
Loop_Mark = False
Thread_Main.Abort()
End Sub
Modbus_Comunication为一个通讯函数,耗时较长。
VB.NET用子线程进行大批量数据传输,UI卡死,请高手指教。代码如下
答案:2 悬赏:20
解决时间 2021-03-21 21:18
- 提问者网友:逐野
- 2021-03-21 18:18
最佳答案
- 二级知识专家网友:為→妳鎖鈊
- 2021-03-21 18:47
试试这个怎么样,添加在子进程里面,就加在你批量传输代码里的每一个传输后面,也就是大批量中的每传输一个数据就暂停一下,而不是每一个大批量才暂停一下
System.Threading.Thread.Sleep(10) '让它走慢一点
System.Threading.Thread.Sleep(10) '让它走慢一点
全部回答
- 1楼网友:年轻没有失败
- 2021-03-21 20:26
试过My.Application.DoEvents没?加在while下一行
再看看别人怎么说的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯