當您在編寫C#多執行緒程式時,若要呼叫子執行緒來控制或存取Window Form UI介面《例如:在WinForm的textBox與Label中輸入文字》,就會顯示錯誤訊息【跨執行緒作業無效: 存取控制項 ‘textBox1’ 時所使用的執行緒與建立控制項的執行緒不同】,如果不能跨執行緒更新UI元件的顯示內容,那也真的是太不方便了,因此小編提供一個比較簡單的方式,讓我們可以達成跨執行緒更新與存取UI元件 ,相關完整代碼請參考以下C# thread程式範例教學。
如何讓C#程式可以跨執行緒來同步存取UI元件
在編寫程式時必需將此段加入C#的程式碼中,當程式運行到此階段才能跨執行緒來存取UI元件。
/* 重要:加入此段可以讓執行序使用UI */
Form.CheckForIllegalCrossThreadCalls = false;
C#範例教學:如何讓程式可以跨執行序執行與更新
/* 重要:加入此段可以讓執行序使用UI */
Form.CheckForIllegalCrossThreadCalls = false;
/* 執行序 執行 */
Thread Quantity_Check = new Thread(Quantity_Check_Function);
Quantity_Check.Start();
/* 執行序 */
private void Quantity_Check_Function()
{
while (true)
{
}
}