[問題] 想請問執行緒跟使用者介面的關係

看板C_Sharp (C#)作者 (小阿綸)時間14年前 (2011/07/13 14:59), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串1/1
我想要把執行緒接收資料的東西 即時更新到listview上面 但是我目前成功的方法只有用執行緒去跑然後用timer去接收這樣 實際測試過發現會有落差非常大 因為我是抓網路上的封包 在網路上找直接更新執行緒的內容到使用者ui上 textbox或combobox等 都是用委配的方式 而且他們的方法都是執行緒使用的方法寫再跟主程式同一個程式檔案下 但是我是把執行緒的方法寫在另外一個新的class當中 所以想請問一下板上有無大大懂得如何使用執行緒抓到值去更改listview或textbox等 控制項。 感恩:D -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.113.129.202

07/14 19:21, , 1F
你要把UI Thread所在的FORM執行個體傳給你的WORKER THREAD
07/14 19:21, 1F

07/14 19:22, , 2F
所在的類別物件
07/14 19:22, 2F

07/14 20:20, , 3F
而且要記得使用Form.Invoke,不然會有爆炸性的悲劇
07/14 20:20, 3F

07/14 20:21, , 4F
就是跨執行緒處理問題
07/14 20:21, 4F

07/17 06:24, , 5F
請問一下,假設我是一個執行緒專門收資料放到datatable中
07/17 06:24, 5F

07/17 06:25, , 6F
而Form有個datagridview,其datasource在是這個datatable
07/17 06:25, 6F

07/17 06:26, , 7F
像這樣,不知道需要invoke嗎?
07/17 06:26, 7F
文章代碼(AID): #1E7K9JEd (C_Sharp)
文章代碼(AID): #1E7K9JEd (C_Sharp)