一、来由
C#是无法在子线程中更新由主线程创建的界面控件的参数,所以需要进行一些特殊的操作。这个操作就叫做“委托”。
二、以在子线程中更新主界面ProcessBar控件为例
public delegate void UpdateProcessBar(int count);//声明委托类型
UpdateProcessBar MyUIProcessBar;//定义一个委托变量
private void DownloadProcessBar(int count)
{
DownloadProcessBar.Value=count;
}
MyUIProcessBar=new UpdateProcessBar(DownloadProcess);//将委托变量与某一个方法进行绑定
this.Invoke(MyUIProcessBar,new object[]{process})//在需要使用processBar的地方调用,process为当前实际的process值
本文介绍在C#中如何解决子线程更新由主线程创建的界面控件的问题,通过使用委托的方式,实现子线程对主线程中ProcessBar控件的更新。
2426

被折叠的 条评论
为什么被折叠?



