作者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