VB.NET 线程中调用module中的函数可以正常运行,但不能更新UI该怎么解决

hcyang1422 2017-10-19 09:38:38
在VB.NET中开启了一个线程用于控制仪器进行自动测试,并把测试结果保存及显示在UI上面的textbox中,现遇到的问题有两个,11:在线程中向仪器发送控制命令后,会再调用module中的一个函数来读仪器状态,并根据读出的数据来更新UI上对应的控件。调试结果是函数可正常运行,但不能更新UI控件状态。该问题如何可以解决?
2:测试结果以委托的方式可以正常的写入textbox中,但是怎么才可以让textbox显示的数据滚动动当前写入的数据处?在TextBox1_TextChanged中写入的TextBox1.ScrollToCaret()函数同样可以运行,但不能更新UI。
以上两个问题是否也需要以委托的方式才可解决?该怎么进行委托?请各大神指点。
...全文
311 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hcyang1422 2017-10-19
  • 打赏
  • 举报
回复
这种方法试过了,没有效果。还有别的方法吗?
xdashewan 2017-10-19
  • 打赏
  • 举报
回复
你是如何从线程向textbox赋值的,TextBox1.ScrollToCaret()就写在赋值的地方即可
VB.Net 2017-10-19
  • 打赏
  • 举报
回复
要不用委托,要不用CheckForIllegalCrossThreadCalls = False

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧