C# 多线程 Invoke BeginInvoke

Posted GarsonZhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 多线程 Invoke BeginInvoke相关的知识,希望对你有一定的参考价值。

image

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

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

 

来自:百度知道

 

 

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

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

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

也可以使用下面的方法

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

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

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

以上是关于C# 多线程 Invoke BeginInvoke的主要内容,如果未能解决你的问题,请参考以下文章

Control类的Invoke 和 BeginInvoke

C# invoke使用

C#中Control的Invoke和BeginInvoke是相对于支线线程

(转)c#多线程 Invoke方法的使用

C# this.Invoke()的作用与用法

winform 利用 多线程 处理窗体假死,利用 Invoke BeginInvoke 处理子线程调用 UI 控件报错的问题