跨线程访问界面控件时,访问下窗体的 InvokeRequired 属性,如果为false就可以直接访问,否则就是跨线程访问;此时,创建一个delegate,并通过Invoke() 来调用它.
private void setTimer(string str)
{}
定义一个委托
创建一个方法
{ 如果某一个操作需调用主线程的该方法
给他创建一个该方法的副本,
调用该方法的副本执行操作
如果并没有调用主线程操作
直接执行
【你需要的操作】
}
if (this.IsDisposed) return;
this.Invoke(new EventHandler(delegate(object s1, EventArgs e1)
{
txtReHID.BackColor = Color.Green;
txtReHID.Text = mcard.i_No.ToString();
}));