熟悉 Winfrom 中 Application.DoEvents() 方法的朋友一定用过此方法,此方法可以立即处理当前在消息队列中的所有 Windows 消息。 如在一个按钮单击事件中,需要每一秒改变label的Text属性,如下代码:
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 50; i++)
{
Thread.Sleep(500);
this.label1.Text = i.ToString();
}
}
编译运行,单击按钮,你并不会见到lable一直改变,等到执行完,你只会看见49。而加上 Application.DoEvents() 方法则可以看到一直更改的文本
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 50; i++)
{
Thread.Sleep(500);
this.label1.Text = i.ToString();
Application.DoEvents();
}
}
好了,废话不多说了,不明白的可以参考