码迷,mamicode.com
首页 > 编程语言 > 详细

子线程更新界面文本

时间:2020-06-15 17:41:19      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:创建   ini   成功   window   处理   string   ext   upd   text   

当在线程中处理完一个事情,需要将结果反馈给界面时,如果直接修改界面文本就会报“在不是创建它的线程中访问控件”的错。在此记录两个处理办法:

1.线程同步

  System.Threading.SynchronizationContext _SyncContext = new System.Threading.SynchronizationContext.Current;//主线程中定义

  private void UpdateLable(object o) => { myLabel.Text=(string)o;}//主线程中定义

  _SyncContext.Post(UpdateLable, "成功");//子线程中调用

2.子线程中Invoke

  System.Windows.Forms.MethodInvoker mi = new System.Windows.Forms.MethodInvoker(() =>{myLabel.Text=“成功”; });
       this.BeginInvoke(mi);

子线程更新界面文本

标签:创建   ini   成功   window   处理   string   ext   upd   text   

原文地址:https://www.cnblogs.com/chixiner/p/13131824.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!