c#多線程中,子線程如何訪問主線程的控件

方法一:

CheckForIllegalCrossThreadCalls = false;//不安全調用線程

設置這個變量僅能修改或者設置主UI線程中的控件的屬性信息,但當要添加主UI線程中的控件時,設置CheckForIllegalCrossThreadCalls不行,會拋出“子線程無法創建父線程控件的父級”等類似的異常,這種情況下,只能用第二種方法了。

方法二:使用委託,控件的Invoke
我們要在ShowDataView中修改showLstv控件的屬性信息

if (showLstv.InvokeRequired)
{
          AsyncDelegate at = new AsyncDelegate(ShowDataView);
           showLstv.BeginInvoke(at, new object[] { curTime, eqIpAdrr, iPort, dataStr });
}
else
 {
 }
private void ShowDataView(DateTime curTime, string eqIpAdrr, int iPort, string dataStr)
{
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章