不要在代码中放置不必要的DoEvents语句,尤其是在时间要求高的循环中。遵循这个原则,至少能在循环中的每N次反复时才执行DoEvents语句,从而增强效率。比如使用下面的语句: If (loopNdx Mod 10) = 0 Then DoEvents 如果只是使用DoEvents来屏蔽鼠标以及键盘操作,那么就可以在事件队列中存在待处理项目时调用它。通过API函数GetInputState来检查这个条件的发生: Declare Function GetInputState Lib "user32" Alias "GetInputState" () As Long ' ... If GetInputState() Then DoEvents  
|