看板 C_Sharp 關於我們 聯絡資訊
小弟目前有一個專案,是一次開四個執行緒分別去做事 在流程中會分別去更新,同一個dataGridView自己所屬那行的訊息(也就是一共四行) 問題來了,執行一段時間後,介面會當掉 也就是介面會停止不動,但去工作管理員看,發現程式還是繼續在執行 實際上也有去改DB跟做事(都正確無誤),只是介面會呆在那裏不動(沒有更新訊息)。 因為程式碼有點繁雜,小弟也不知道該貼那段出來 想請知道的大大給個方向,讓小弟研究下! 以上感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.11.164
rainbow001:不知道能不能加個application.doevent()? 04/23 15:21
funnyface325:UI也算一個thread,所以你不能跨thread更新UI~ 04/23 16:11
funnyface325:你可以考慮 Dispatcher.BeginInvoke 或 BackGroundwo 04/23 16:12
funnyface325:backgroundworker來更新你的UI 04/23 16:13
感謝以上二位大大回答 目前是以this.Invoke來更新dataGridView訊息. ※ 編輯: ONLYSMART 來自: 114.32.11.164 (04/23 16:29)
yeo1987:更新太快, 間隔太短了? 思考一下是不是有必要這樣做... 04/23 17:15
感謝y大 確實是更新的很快,間隔時間較短,所以這個錯誤是dataGridView來不及反應造成的嗎? ※ 編輯: ONLYSMART 來自: 114.32.11.164 (04/23 17:27)
yeo1987:就像你所說的, 但這也不能算是錯誤啦XD 04/23 17:42
yeo1987:我會建議你另開一個thread去做定期更新各資訊的動作 04/23 17:42
yeo1987:更新的間隔就要看你自已測試了! 04/23 17:43