首先多线程同时操作控件是不安全的,必须利用同步锁来控制线程之间的同步,如果要求界面不受影响应考虑采用异步委托 private delegate void UpdateData来实现界面更新,下面是例子
private delegate void UpdateDat(string c1,string c2);
static private Object ULock = new Object();//线程锁
然后利用 new UpdateDat.BeginInvoke(UpdateData);
public void UpdateData(string c1,string c2)
{
Invoke(new EventHandler(delegate//如果不操作用户控件可以省略此方法
{
lock (ULock)
{
lock()
{
//这里写你的更新代码
}
}
}));
}
温馨提示:答案为网友推荐,仅供参考