[問題] 使用迴圈改變內容,會來不及顯示?

看板C_Sharp作者 (市政府7F)時間17年前 (2008/09/11 14:09), 編輯推噓3(303)
留言6則, 4人參與, 最新討論串1/1
int i = 0; while(true) { textBox1.Text = i.toString(); i++; } textBox1完全顯示不出東西,或是根本不會動 猜想會不會是內容變換太快的關係,於是改成如下 int i = 0; while(true) { textBox1.Text = i.toString(); Thread.sleep(); i++; } 還是一樣的情況,textBox不會動 可是如果改成以下的狀況,就會動了 不過要把MessageBox點掉才行 int i = 0; while(true) { textBox1.Text = i.toString(); MessageBox.Show(textBox1.Text); i++; } MessageBox有正常顯示累加的i 表示textBox1事實上是有被賦予正確值的 請問顯示不出來的原因到底是什麼? 該如何解決呢? 煩請各位前輩給予指導,感激不盡 =) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.216.193

09/11 14:23, , 1F
Application.DoEvent();
09/11 14:23, 1F

09/11 17:42, , 2F
textBox1.Update() 可能比較好,可避免中途跑去做別的事
09/11 17:42, 2F

09/11 18:06, , 3F
謝謝,可以正常更新了
09/11 18:06, 3F

09/12 00:23, , 4F
請問 Refresh() 跟 Update()有什麼不同?
09/12 00:23, 4F

09/12 15:00, , 5F
update()是重繪失效的區域
09/12 15:00, 5F

09/12 15:01, , 6F
refresh是先使其失效再重繪
09/12 15:01, 6F
文章代碼(AID): #18oBOFHy (C_Sharp)