群里的一个朋友问到了这个问题,就是在.net线程中操作主窗体控件,要报线程出错,其实这是.net为了安全,所以不充许直接在线程中操作主线程。所以我们可以通过委托来进行操作,如下:
EXFCODE:
delegate void SetTextCallBack(string text);//定义一个委托
void SetText(string text)
{
if (liDate.InvokeRequired)//如果主线程中的liDate在使用
{
SetTextCallBack call = new SetTextCallBack(SetText);//实例化委托
Invoke(call, new string[] { text });//通过主程来进行调用委托的事件,并传送相关参数
}
else
{
liDate.Text = text;//写值
}
}
//在线程中调用方法
SetText("你要设置的值");//线程中调用