关于DoEvents语句

hh014 2003-08-19 01:37:47
我想知道这句语句的作用。
...全文
84 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hc_z 2003-08-19
  • 打赏
  • 举报
回复
补充一点,不能在你转移去执行的部分再次调用你当前执行的代码,否则会出现不可预知的结果。
wumy_ld 2003-08-19
  • 打赏
  • 举报
回复
通常放在一个循环里面,当循环持续的时间较长时,比如不停循环以等待某一个时间的到来,这时在里面加上这个语句,就可以使程序可以响应其它操作,否则就像死机了一样。
didishu0807 2003-08-19
  • 打赏
  • 举报
回复
DoEvents转让控制权,以便让操作系统处理其它的事件
DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic,专业版,在其它的应用程序中,DoEvents 返回 0。
DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。
DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。

示例
下列示例在循环中使用 DoEvents 函数,每当循环完成 1000 次时,将执行让给操作系统。DoEvents 返回仅当主应用程序是 Visual Basic时,打开的窗体个数。
' 创建一个变量来保存加载的 Visual Basic 可见窗体的个数。
Dim I, OpenForms
For I = 1 To 150000 ' 循环开始。
If I Mod 1000 = 0 Then ' 如果循环一已完成了 1000 次。
OpenForms = DoEvents ' 将执行让给操作系统。
End If
Next I ' 将循环计数器加一。


Alicky 2003-08-19
  • 打赏
  • 举报
回复
转让控制权,以便让操作系统处理其它的事件
Alicky 2003-08-19
  • 打赏
  • 举报
回复
转让控制权,以便让操作系统处理其它的事件
strongfisher 2003-08-19
  • 打赏
  • 举报
回复
DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间
过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立
于应用程序,多任务及时间片由操作系统来处理。

小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调
用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交
互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权。
strongfisher 2003-08-19
  • 打赏
  • 举报
回复
转让控制权,以便让操作系统处理其它的事件。

DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic,
专业版,在其它的应用程序中,DoEvents 返回 0。

DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有
键也都已送出之后,返回控制权。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧