线程休眠怎么没用!

fhwrepwq520 2012-06-02 07:33:58

private void button1_Click(object sender, EventArgs e)
{
for (int i = 1; i < 1000000; i++)
{
label1.Text = i.ToString();
Thread.Sleep(1000);
}
}

为什么实现不了label上面一个个显示循环值。
求大神解释.....
...全文
35 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fhwrepwq520 2012-06-02
  • 打赏
  • 举报
回复
2楼的非常谢谢你
__天涯寻梦 2012-06-02
  • 打赏
  • 举报
回复
label1.Text 赋值,不是立即重绘 而是向 GUI 线程消息队列发送了要求重绘的消息,而只有 for 循环结束了也就是鼠标点击消息处理完了才能取得该重绘消息,加上 Application.DoEvents() 就强制去取得刚才发出的重绘消息来处理。
__天涯寻梦 2012-06-02
  • 打赏
  • 举报
回复
Thread.Sleep(1000);
上面加一行
Application.DoEvents();

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧