一、背景
小伙伴们在做winform开发时,如果在子线程中去设置主线程中UI控件的属性,会出现“跨线程调用异常”。如何解决呢?
二、解决思路
比如我们的winform控件是一个TextBox,名字是tbResult,现在需要在子线程中,修改其Text属性,那么如何实现呢?
使用以下代码即可:
this.tbResult.Invoke(new Action(()=>{ this.tbResult.Text = "Result is..."; }));
三、注意事项
1.如果需要在wpf中实现跨线程访问控件,可以参看博主的另外一篇文章wpf之调用线程无法访问此对象,因为另一个线程拥有该对象
2.我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出BIM相关软件开发以及编程干货;
3.欢迎加入BIM行业开发交流1群,获取更多开发资料 群号:711844216