方法一:
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)
{
}