[問題] 新執行緒還是會凍結主執行緒視窗?

看板C_Sharp作者 (市政府7F)時間17年前 (2008/09/12 15:12), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/1
全域變數 int i = 0; 主程式 Thread t = new Thread(new ThreadStart(DrawTest)); t.Start(); 副程式 private void DrawTest() { while(true) { textBox.Text = i.toString(); textBox.Update(); } } 以上的做法可以使textBox顯示遞增的數字 使用新Thread執行就是因為不想讓主執行緒凍結 可是使用上述的方式,只要在程式執行時拖拉移動視窗 滑鼠游標就會顯示沙漏 而且控制項就不能重繪了 請問這到底是為什麼呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.216.193

09/12 15:16, , 1F
抱歉忘了加i++, 問題還是一樣
09/12 15:16, 1F

09/12 15:59, , 2F
適當的地方加Application.DoEvents();
09/12 15:59, 2F

09/12 16:43, , 3F
抱歉,還是不懂
09/12 16:43, 3F

09/12 16:44, , 4F
我想你說的會不會是正常顯示數字的label?
09/12 16:44, 4F

09/12 16:45, , 5F
可是我是數字可以正常顯示,Form卻不能移動
09/12 16:45, 5F

09/12 17:01, , 6F
懂了,加在迴圈裏麵,謝謝
09/12 17:01, 6F

09/14 12:08, , 7F
理論上這會有跨thread的錯誤,你停止warning嗎?但這危險呀
09/14 12:08, 7F
文章代碼(AID): #18oXPXD0 (C_Sharp)