DoEvents
让出执行权,以便操作系统能分派挂起的窗口消息和其他事件。
语法:DoEvents()
返回一个Integer,指示应用程序中打开的窗体数量;在不维护窗体集合的宿主中返回0。
DoEvents将控制权传递给操作系统。在操作系统完成处理其队列中的事件以及SendKeys队列中挂起的按键交付后,控制权返回给调用者。
DoEvents对于简单的事情最有用,例如在紧密循环期间保持UI响应,或让用户取消长时间运行的操作。对于真正长时间运行的工作,建议使用定时器或后台工作器(例如进程外ActiveX EXE),以便操作系统处理多任务。
WARNING
每当在事件过程中让出处理器时,该过程在原始调用返回之前不得从不同的代码路径重新进入;否则程序可能会产生不可预测的行为。同样,在让出控制权期间其他应用程序可能以不可预见的方式与过程交互时,避免使用DoEvents。
示例
本示例在循环中每1000次迭代让出一次控制权给操作系统。
vb
Dim I As Long, OpenForms As Long
For I = 1 To 150000
If I Mod 1000 = 0 Then
OpenForms = DoEvents()
End If
Next I另请参阅
- SendKeys语句