在VBA中的用户窗体上使用DoEvent而不是Repaint有什么好处?

Ano*_*ype 2 vba repaint doevents userform

在VBA中的用户窗体上使用DoEvent而不是Repaint有什么好处?是因为性能,最小化屏幕闪烁之类的烦恼,还是需要更新而不仅仅是表格?

从VBA的角度寻找一些有关差异的澄清.

Ken*_*n D 6

通常,VB6和VBA使用DoEvents告诉处理器继续处理消息队列中的消息.当在处理器中进行密集处理操作时使用它,因此程序的UI仍然响应所有其他事件.

示例:您正在执行密集搜索算法,如果您没有添加DoEvents,程序可能会挂断,直到完成搜索.另一方面,如果你添加DoEvents(让搜索循环说),程序不会挂起,仍然可以处理所有程序事件,如(取消)取消搜索.

编辑:我认为DoEvents比Repaint更全面,因为它处理所有事件类型,不仅处理UI的闪烁/挂起.