c# 線程間操作無效: 從不是創建控件“FormMain”的線程訪問它

今天晚上,在調試程序的時候,突然發現出現下面的錯誤信息:

 

在 System.InvalidOperationException 中第一次偶然出現的“System.Windows.Forms.dll”類型的異常
未處理的“System.InvalidOperationException”類型的異常出現在 System.Windows.Forms.dll 中。

其他信息: 線程間操作無效: 從不是創建控件“FormMain”的線程訪問它

 

錯誤的信息很明確,是線程訪問控件的問題,在網上查了一下,沒有特別好的解決辦法,主要如下三種方法:

(1)使用BackGroundWorker來處理數據工作,這種方法可行,但是對我的程序來說這種方法不滿足需求。

(2)通過設置如下屬性,據說可以屏蔽這個錯誤,但治標不治本,而且我試了一下,也不起作用。

CheckForIllegalCrossThreadCalls   =   false;

(3)還有一種方法就是託管了,看來只有用這種方法來解決了。

 

對於第一種方法,稍後我會把找的文檔轉過來,以備需要的時候使用。

發佈了33 篇原創文章 · 獲贊 4 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章