Application.DoEvents()的作用

Application.DoEvents()的作用:处理所有的当前在消息队列中的Windows消息。

[c-sharp] view plaincopy
 
  1. private void button1_Click(object sender, EventArgs e)  
  2. {  
  3.     for (int i = 0; i < 10000; i++)  
  4.     {  
  5.         label1.Text = i.ToString();  
  6.         Application.DoEvents();  
  7.     }  
  8. }  

  测试了一下,没有Application.DoEvents()的时候,Label基本处于假死机状态,最后显示一个9999,加上后会数字变换正常显示。

从这个测验后DoEvents的功能,应该DoEvents就好比实现了进程的同步。在不加的时候,因为优先级的问题,程序会执行主进程的代码,再执行别代码,而加了以后就可以同步执行。

原文地址:https://www.cnblogs.com/bravenight/p/5075088.html