Invoke在线程中等待Dispatcher调用指定方法,完成后继续下面的操作。

BeginInvoke不必等待Dispatcher调用制定方法,直接继续下面的操作。

 这个在线程中操作UI控件时常用的一个方法,这样程序就能更好地运行和更好的用户体验。

下面的例子就是我们在线程中使用Invoke方法操控现在的状态。

 this.gb_LogResult.Invoke(new Action(delegate
 {
     this.gb_LogResult.Text = "分析结果: " + ++baiduTotalCount;
 }));

也可以使用下面的方法

this.label1.Invoke(new EventHandler(delegate
{
     this.label1.Text ="采集数据:"+ url.TableKey + "_" + url.URLName;
}));

但是他们不变的都是使用的Invoke。

控件除了有Invoke还有BeginInvoke,具体的你可以到网上找找其他的资料

c# 多线程修改窗口属性的时候,必须用委托,控件用Invoke方法调用委托,来修改控件

 

本文地址:https://blog.csdn.net/qq_18932003/article/details/107437232