c#winform多線程調用窗體控件,如果直接調用會提示 “線程間操作無效,從不是創建控件的線程訪問。”,這個時候要用到委托,下面是一個寫的非常好的委托函數:
定義委托
delegate void SetTextCallBack(string text);
定義委托函數
private void ShowRes(string data)
{
if (tvInfo.InvokeRequired) //當有新工作進程訪問控件時InvokeRequired為True
{
this.Invoke(new SetTextCallBack(ShowRes), new object[1] { data }); // 定義委托對象,用當前工作進程對控件進行訪問
}
else
{
tvInfo.Text += data + "\r\n";
}
}
信息網址:http://www.respectj.cn/ziyuan/view20207.htm