从非UI线程调用UI控件赋值、或进行其他更新UI的操作的话,会出现异常:

System.InvalidOperationException:“线程间操作无效: 从不是创建控件“xxx”的线程访问它。”

解决办法:

原来的

xxx.Text="Test";

换成

xxx.BeginInvoke(new Action(()=>{xxx.Text="Test"}));

使用BeginInvoke解决。

参考:Control的Invoke和BeginInvoke 是相对于支线线程(因为一般在支线线程中调用,用来更新主线程ui)Invoke立即插入主线程中执行,而BeginInvoke 要等主线程结束才执行

c# Invoke和BeginInvoke 区别

 

相关文章:

  • 2022-01-16
  • 2022-02-19
  • 2021-12-07
  • 2021-11-12
  • 2021-09-15
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-10
  • 2021-12-16
  • 2022-12-23
  • 2022-12-23
  • 2021-09-11
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案