看板 C_Sharp 關於我們 聯絡資訊
我最近也碰到類似問題 在vs 2005 上寫一個視窗表單程式(一開始執行就做Form_Load) 內涵一個跟text.txt比對的動作 可是由於.txt檔資料龐大 故加入一個thread 讓他不會影響到使用者操作的流暢度 可是卻出現 'NotSupportedException'這個例外處理不知如何解決? 以下為大略寫法 private void Form_Load() { string s1; Thread thread1; textbox1.text = " "; thread1 = new Thread(new ThreadStart(compare())) thread1.Start(); //以下省略 } private void compare() { s1=a; //這邊有錯,我必須在這個方法裡再宣告一次字串變數 if(....) { textbox1.text = "123"; //這邊出現NotSupportedException的例外錯誤 } if(....) { textbox1.text = "456"; //這邊出現NotSupportedException的例外錯誤 } } 這是不是跟invoke有關? 觀念模糊不知如何改寫.. 不知道這個是錯在哪 請板上先進給予小弟一點提示 謝謝 ※ 引述《NEWGAME (劉阿隆)》之銘言: : 我在VS 2005.NET上寫個application的程式 : 我在Form上拉了一個textBox : 程式碼寫了一個thread要處理textBox的內容時 : 發生了"跨執行緒的錯誤",所以無法對textBox存取。 : 之前在2003上寫相同程式碼時都不會有這錯誤 : 請問各位大師們 : 能給小弟一點提示嗎?? : 謝謝^^ -- ※ 編輯: aluuser 來自: 218.166.65.109 (10/26 13:42)
q110185:試試backgroundWoker + reportProgress 10/26 16:20
CafeKing:thread 不能直接對控制項取值,用delegate+invoke來傳遞 10/26 23:25
horngsh:推2F 10/27 13:30