C#中Application.DoEvents()的作用
1.处理当前在消息队列中的所有 Windows 消息。
2.交出CPU控制权,让系统可以处理队列中的所有Windows消息
3.比如在大运算量循环内,加Application.DoEvents可以防止界面停止响应
C#中Application.DoEvents()的作用:处理当前在消息队列中的所有 Windows 消息。
加Application.DoEvents可以防止界面停止响应
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < 10000; i++)
{
label1.Text = i.ToString();
Application.DoEvents();
}
}
测试了一下,没有Application.DoEvents()的时候,Label基本处于假死机状态,最后显示一个9999,加上后会数字变换正常显示。
加了DoEvents的功能,就不会卡死。
在不加的时候,因为优先级的问题,程序会执行主进程的代码,再执行别代码,而加了以后就可以同步执行。