线程休眠怎么没用!
C# code
private void button1_Click(object sender, EventArgs e)
{
for (int i = 1; i < 1000000; i++)
{
label1.Text = i.ToString();
Thread.Sleep(1000);
}
}
为什么实现不了label上面一个个显示循环值。
求大神解释.....
------解决方案--------------------
Thread.Sleep(1000);
上面加一行
Application.DoEvents();
------解决方案--------------------
label1.Text 赋值,不是立即重绘 而是向 GUI 线程消息队列发送了要求重绘的消息,而只有 for 循环结束了也就是鼠标点击消息处理完了才能取得该重绘消息,加上 Application.DoEvents() 就强制去取得刚才发出的重绘消息来处理。