從非UI線程調用UI控件賦值、或進行其他更新UI的操作的話,會出現異常:
System.InvalidOperationException:“線程間操作無效: 從不是創建控件“xxx”的線程訪問它。”
解決辦法:
原來的
xxx.Text="Test";
換成
xxx.BeginInvoke(new Action(()=>{xxx.Text="Test"}));
使用BeginInvoke解決。
參考:Control的Invoke和BeginInvoke 是相對於支線線程(因為一般在支線線程中調用,用來更新主線程ui)Invoke立即插入主線程中執行,而BeginInvoke 要等主線程結束才執行