教程 | DoEvents函数知多少

01

写在前面

DoEvents 函数返回一个 Integer,它表示独立版本的 Visual Basic(如 Visual Basic Professional Edition)中打开的窗体的数目。DoEvents 将在所有其他应用程序中返回 0。

DoEvents 将控制权交给操作系统。控制权将在操作系统处理完其队列中的事件并发送 SendKeys 队列中的所有项后返回。

02

语法

DoEvents ( )

DoEvents 对于诸如允许用户在过程开始后取消过程(如搜索文件)这样的简单操作最有用。对于长时间运行的过程,将执行控制权交给处理器要比使用计时器或将任务委派给 ActiveX EXE 组件好得多。在后一种情况下,任务可以完全独立于应用程序继续运行,并且操作系统会处理多任务和时间切片。


只要将控制权临时交给事件过程中的处理器,就请确保在第一个调用返回之前,不会从代码的其他部分重新执行过程;这可能会导致出现意外结果。此外,如果其他应用程序可以在您已转交控制权的时间段内以无法预料的方式与过程交互,请不要使用 DoEvents。

03

示例

此示例使用 DoEvents 函数来使得每迭代 1000 次循环就将执行权交给操作系统。DoEvents 返回打开的 Visual Basic 窗体的数目,但此情况仅在主机应用程序为 Visual Basic 时发生。

Dim I, OpenFormsFor I = 1 To 150000    If I Mod 1000 = 0 Then        OpenForms = DoEvents    End IfNext I

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.1 VBA是什么 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得...
    浮浮尘尘阅读 22,066评论 6 49
  • 以下文章来源于公众号Java建设者 ,作者cxuan 文章主要结构图如下 操作系统 现代计算机系统由一个或多个处理...
    码农小光阅读 3,880评论 0 3
  • 计算机软件各种各样,每个软件都有各自不同的特点和功能,根据我们所要解决的问题的不同,可以选择不同的软件。如果用文字...
    我在东北玩泥巴_阅读 4,104评论 0 1
  • 目录: Github 代码仓库 https://github.com/jimboyeah/The-OpenGL-R...
    坚果jimbowhy阅读 7,886评论 0 2
  • 基础 .NET概述 参考:http://www.cnblogs.com/yplong/p/3279934.html...
    donite阅读 5,565评论 0 8

友情链接更多精彩内容