C# DoEvents
来源:互联网 发布:剑网三萝莉捏脸数据图 编辑:程序博客网 时间:2024/05/12 07:12
转自http://hi.baidu.com/lulianqi15/blog/item/9e1558ddd6569fbdcd1166ff.html
应用程序使用 My.Application.DoEvents 方法可以处理代码运行时可能引发的其他事件。My.Application.DoEvents 方法与 DoEvents 方法的行为相同。
Windows 窗体应用程序运行时,它将创建一个新的窗体,然后该窗体等待需要处理的事件。该窗体在每次处理某个事件(如按钮单击)时,都会处理与该事件关联的所有代码。所有其他事件在队列中等待。在代码处理事件时,应用程序并不响应。例如,当将另一窗口拖到该窗口前面时,该窗口不重新绘制。
如果在代码中调用 My.Application.DoEvents,则您的应用程序可以处理其他事件。例如,如果代码在一个循环中将数据添加到 ListBox,并且在循环的每一步后都调用My.Application.DoEvents,则另一个窗口被拖到窗体上面时,该窗体将重新绘制。如果从代码中移除 My.Application.DoEvents,那么在按钮的单击事件处理程序执行结束以前,您的窗体不会重新绘制。
通常,您在循环中使用该方法来处理消息。
以上引至MSDN
其实DoEvents跟多线程有些类似,却是完全不同的。使用DoEvents可以让事件(循环)在没有完成的时候就可以处理其他事件(当然多线程也可以实现)而这一切却不是同步的,当前事件(循环)不会等待完成自己而再去处理下一个事件,而是在DoEvents时就暂停(注意只是暂停,没有消失,而直接执行下一个得到的指令(事件)。而且当这个下一个指令完成后,先前在DoEvents处暂停的代码会再次继续执行。
所以使用DoEvents就要特别注意了,千万不要以为他只是简简单单强制执行到此处的代码。如果不知道它的工作方式,使用它可能给程序带来意想不到的麻烦。
来自http://hi.baidu.com/lulianqi15/blog/item/9e1558ddd6569fbdcd1166ff.html- C# DoEvents
- C# 消息(Application.DoEvents())
- C#中的DoEvents()
- C# Application.DoEvents
- C# 消息(Application.DoEvents())
- c# Application.DoEvents
- C# Application.DoEvents
- C#经典之Application.DoEvents()
- C#经典之Application.DoEvents()
- C#经典之Application.DoEvents()
- DoEvents
- C# 等待框----Application.DoEvents()实现
- C# 等待框----Application.DoEvents()实现
- C#中Application.DoEvents()的作用
- C#经典之Application.DoEvents()的使用
- c#学习笔记之Application.DoEvents应用
- C# Application.DoEvents() 处理队列消息,防界面假死。
- 关于DoEvents
- iphone之UISegmentedControl
- 微软SmartGlass的第一步行动 新版My Xbox Live特性值得回味
- 数值分析(英文版第2版)
- jsp简单实现提供文件下载
- C++中STL中的map用法详解
- C# DoEvents
- iOS开发_iphone开发_iphone界面如何实现下拉列表
- tomcat缓存清理
- JFreeChart ChartPanel加入netbeans JPanel的方法
- ASP.NET Page 那点事
- JavaScript基础语法
- 《Ext JS权威指南》节选:在Visual Studio中实现Ext JS智能提示
- Linux性能指标分析
- 机器如何识别有符号数和无符号数?