作者teamspike (市政府7F)
看板C_Sharp
標題[問題] 使用迴圈改變內容,會來不及顯示?
時間Thu Sep 11 14:09:18 2008
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
1F:推 tomex:Application.DoEvent(); 09/11 14:23
2F:推 hamsters:textBox1.Update() 可能比較好,可避免中途跑去做別的事 09/11 17:42
3F:→ teamspike:謝謝,可以正常更新了 09/11 18:06
4F:推 YMMUR:請問 Refresh() 跟 Update()有什麼不同? 09/12 00:23
5F:→ teamspike:update()是重繪失效的區域 09/12 15:00
6F:→ teamspike:refresh是先使其失效再重繪 09/12 15:01