C# 多线程 Invoke BeginInvoke
Posted GarsonZhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 多线程 Invoke BeginInvoke相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章
C#中Control的Invoke和BeginInvoke是相对于支线线程
winform 利用 多线程 处理窗体假死,利用 Invoke BeginInvoke 处理子线程调用 UI 控件报错的问题