DoEvents 函数
转让控制权,以便让操作系统处理其它的事件。语法DoEvents( )说明DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic,专业版,在其它的应用程序中,DoEvents 返回 0。DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权。
解决方案 »
- 请问
- 使用webbrower时,怎么处理这种情况呢?(顶者有分)
- 用VC写了一个DLL(名字叫DLLA),编译通过,可以给VB的应用程序调用。再用VC写一个DLL(名字叫DLLB),在DLLB里调用DLLA里的函数,编译通
- 关于sendmessage发送按扭消息的疑惑,高手进
- 文件头的乱码是什么?
- 关于用vb代码如何进行数据清除?(删除数据表记录的问题?)
- 后端是SQLSERVER,如何选取最后一条记录?
- 青帮忙!从零开始,学VB,半年能不能拿MCSD.有一点点JAVA基础了.是学6.0呢还是.NET好?
- 十分急,在線等,快來看看
- 在窗体的通用部分声明public的变量怎么成了全局变量了,如何释放变量呢?
- 程序运行问题
- *******我有一段有"大循环"的程序,为不影响其他的操作应释放控制权,但不知应把DOEVENTS加在哪!请大家帮个忙!谢谢
下列示例在循环中使用 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 ' 将循环计数器加一。
DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic,专业版,在其它的应用程序中,DoEvents 返回 0。DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。http://www.csdn.net/expert/Topic/182/182862.shtm