C#的Invoke和BeginInvoke、多线程中的界面更新

来源:互联网 发布:攻城掠地宝石升级数据 编辑:程序博客网 时间:2024/05/17 09:18

http://archive.cnblogs.com/a/11301/

http://www.cnblogs.com/moses/archive/2009/12/16/1625843.html

看了上面两篇文章,按个人理解,Invoke和BeginInvoke分为委托类和Control类,Control类的调用Invoke和BeginInvoke都是在UI线程中执行的,BeginInvoke会在调用后继续往下走,而Invoke必须在委托方法执行完才往下走。

 

如果在多线程中用BackgroundWorker类来完成后台操作,则在ProgressChanged事件中进行UI更新,如果要在DoWork事件中进行UI更新那就用Control的Invoke或BeginInvoke吧

 

**** 在这里做个记号,免得忘了 ****

原创粉丝点击