Application.DoEvents()
简介:
其实doEnvents很简单,就是暂停一下当前模块Code,好让你程序可以响应其它事件、消息……
响应完其它事之后又回去继续执行刚才的Code (允许窗体在忙时响应 UI 输入)
生动描述:
程序对CPU说,哥们,你去干别的事情吧
好处或意义:
全部显示,处理当前在消息队列中的所有Windows消息.
在大量循环中使用可以有效避免假死机现象
注意:
调用该方法可以在某消息引发事件时导致重新输入代码.
额外了解:
Window窗体运行机制:
当运行Windows窗体时,它将创建新窗体,然后该窗体等待处理事件
该窗体在每次处理事件时,均将处理与该事件关联的所有代码。
所有其他事件在队列中等待。
在代码处理事件时,应用程序并不响应。
例如,当将另一窗口拖到该窗口前面时,该窗口不重新绘制。
实例:
- private void btnNone_Click(object sender, EventArgs e)
- {
- int x=0;
- while (true)
- {
- x++;
- Application.DoEvents();//如果没这句程序就假死了
- // Application.Exit();
- }
- }