转移系统控制权。private sub Form_Load()
dim i as long
for i=0 to 1000000
doevents
nexti
end sub
当你点击关闭按钮时可以退出。
如果没有 Doevents ,你就必须等到 For...Next 循环完,才能处理其他事情.
dim i as long
for i=0 to 1000000
doevents
nexti
end sub
当你点击关闭按钮时可以退出。
如果没有 Doevents ,你就必须等到 For...Next 循环完,才能处理其他事情.
解决方案 »
- 代理服务器程序,希望高手还指点一下
- 关于获取注册表创建时间的问题
- 讨论下用几种不同的语言开发activex控件
- vsflex 的合并单元格如何能够打出来
- 有谁用过SScommand控件啊?为什么我这里总是说没有许可证???
- 关于托盘的问题
- 欢迎各位在吓指导一个实际问题
- 如果数据库中的价格字段是字符串型,怎样查询一个价格范围的值
- 关于条形码的问题。
- 寻高打!如何将几个RichText文档同并为一个RichText文档???急急!
- 请教各位,我用wise installation system(9.01)打包程序生成程序管理组后,为什么反安装不能删除创建的程序组?
- 求教:怎样在程序里控制输入法类型
command1_click()
for i=0 to 10
text1.text=i
delay(0.1)
next
end subsub delay(t as double)
t1=timer
while timer-t1<t
doevents
wend
end sub
然后在窗体上放个按钮 事件如下a= not a
do until a=false 具体语法自己参考
如果你不在中间的循环上加入 doevents 的话
这个按钮可能就根本停不下来
自己试试
还要给我讨论的话 给我发短信息
即使你写了Form.Show, 用户也需要等待处理完数据后才能看到界面如果在Form.Show后面加了DoEvents的话, 你会先看到界面, 其实数据还在处理.这只是DoEvents的一种用法, 要注意DoEvents处理其他消息时是否会对当前函数
用到的全局量或内核对象有影响.
DoEvents 函数
转让控制权,以便让操作系统处理其它的事件。语法DoEvents( )说明DoEvents 函数会返回一个 Integer,以代表 Visual Basic 独立版本中打开的窗体数目,例如,Visual Basic,专业版,在其它的应用程序中,DoEvents 返回 0。DoEvents 会将控制权传给操作系统。当操作系统处理完队列中的事件,并且在 SendKeys 队列中的所有键也都已送出之后,返回控制权。DoEvents 对于简化诸如允许用户取消一个已启动的过程 — 例如搜寻一个文件 — 特别有用。对于长时间过程,放弃控制权最好使用定时器或通过委派任务给 ActiveX EXE 部件来完成。以后,任务还是完全独立于应用程序,多任务及时间片由操作系统来处理。小心 确保以 DoEvents 放弃控制权的过程,在第一次 DoEvents 返回之前,不能再次被其他部分的代码调用;否则会产生不可预料的结果。此外,如果其它的应用程序可能会和本过程以不可预知的方式进行交互操作,那么也不要使用 DoEvents,因为此时不能放弃控制权。
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 ' 将循环计数器加一。