C#跨執行緒使用Windows Form UI

在C#中如果在執行緒內是無法直接控制Window Form中的UI進行動作的《例如:在textBox寫入資訊…etc》,如果使用則會跳出錯誤訊息【跨執行緒作業無效: 存取控制項 ‘textBox1’ 時所使用的執行緒與建立控制項的執行緒不同。】,但是跨執行緒中如果不能控制UI那也真的太不方便了,因此小編詢問了朋友,提供一個雖然較不安全但是較簡單的方式可以達成 C#跨執行緒使用Windows Form UI ,相關完整代碼請參考以下範例:

 

  分享跨執行緒來使用UI  

重點在於使用時必須在執行緒之前加入此段程式碼,才能快跨執行緒來使用UI

/* 重要:加入此段可以讓執行序使用UI */
Form.CheckForIllegalCrossThreadCalls = false;

完整程式範例

/* 重要:加入此段可以讓執行序使用UI */
Form.CheckForIllegalCrossThreadCalls = false;
/* 執行序 執行 */
Thread Quantity_Check = new Thread(Quantity_Check_Function);
Quantity_Check.Start();
/* 執行序 */
private void Quantity_Check_Function()
{
    while (true)
    {
    }
}

 

延伸閱讀:

C#常用的特殊字元

C#資料庫語法新增與刪除

C#判斷資料夾是否存在

C#使用StreamReader與StreamWrite來讀寫文件

C# MessageBox 教學