关于DoEvents
看了半天CSDN 还有点莫名其妙,下边是里边的示例程序,
'
此按钮最初的标题是"Process"
。Private Sub Command1_Click()
'
过程的所有实例都'
共享静态变量。Static blnProcessing As Boolean
Dim lngCt As Long
Dim intYieldCt As Integer
Dim dblDummy As Double
'
按下按钮时,检测是否'
已经在处理。If blnProcessing Then
'
如果正在处理,则取消处理。blnProcessing = False
Else
Command1.Caption = "Cancel"
blnProcessing = True
lngCt = 0
'
执行一百万次浮点'
乘法计算。每一千次后,'
检测是否要取消。Do While blnProcessing And (lngCt < 1000000)
For intYieldCt = 1 To 1000
lngCt = lngCt + 1
dblDummy = lngCt * 3.14159
Next intYieldCt
'DoEvents
语句允许其它事件'
发生,包括第二次'
按此按钮。DoEvents
Loop
blnProcessing = False
Command1.Caption = "Process"
MsgBox lngCt & " multiplications were performed"
End If
End Sub
后来把 DoEvents 这句去掉再运行一下终于明白了,其实就是防止程序在运行一个长时间的过程或函数
的时候停止响应,让它不时的停下来看看有什么其它事件发生,来响应事件.
防止就像我们经常看到有些程序显示" 没有响应"字样,那种情况
关于DoEvents相关推荐
- C# Application.DoEvents() 处理队列消息,防界面假死。
该方法可以处理当前队列的消息,比如一个for循环 5000次 向TextBox中追加文本,那肯定会假死一会儿的. 此时便可使用Application.DoEvents()来处理队列的信息. 简单说下使 ...
- c# Application.DoEvents
public static void Delay(int ms){int start = System.Environment.TickCount;while (System.Environment. ...
- Application.DoEvents()的使用
最近做了一个个人数字图书馆管理系统,因为牵扯到电脑文件的扫描,想做一个实时显示当前扫面文件的功能,就类似于360文件扫描时的效果,本来打算用多线程来实现,但是方法太多没有实现,后来在程序中进行控制,由 ...
- C# Winform中慎用Application.DoEvents
private void Add(){for (int i = 0; i < 100; i++){Button button = new Button();button.Width = 300; ...
- Application.DoEvents
记得第一次使用Application.DoEvents()是为了在加载大量数据时能够有一个数据加载的提示,不至于系统出现假死的现象,当时也没有深入的去研究他的原理是怎样的,结果在很多地方都用上了App ...
- VB中DoEvents的注意事项
对与再大循环里 加入 DoEvents却是可以使应用程序响应其他程序,但是 DoEvents也会很大程度上影响循环的速度,所以一般情况我这样用 If GetInputState Then DoEv ...
- VB的doevents,制造多线程的效果
这几天做一个vb的小程序,为了实现一些效果想使用多线程,发现vb多线程实在不好用,多进程也就是使用Activex exe还可以.本来都已经使用这个Activex技术做好了,今天突然想到,对于我这个程序 ...
- Application.DoEvents可能不是线程安全的
2019独角兽企业重金招聘Python工程师标准>>> 如果在UI的消息处理函数中进行较大量的计算或对界面进行操作,占用较长时间时可以在中间调用Application.DoEvent ...
- Doevents函数详解
Doevents函数是一个很好用的函数,但很多人对它的用法不清楚或有误解.由于我在网上查到一篇关于此函数的用法,并添加了一些内容,不敢独享,特此献出. 其中有一个"控时循环和变速齿轮 ...
- DoEvents的用法
注:摘自互联网 VB DoEvents用法 VB6.0 Windows98 我要实现一个类似Windows复制(移动)文件时的提示窗体,耗时很长,且要求中断后能继续未完成的操作,不知使用DoEvent ...
最新文章
- 太久没来了,好尴尬呀
- Kindeditor图片上传Controller
- 浅析Hibernate映射(一)——基本映射
- w7电脑蓝屏怎么解决_怎么解决0x0000007b电脑蓝屏 解决0x0000007b电脑蓝屏方法【详细步骤】...
- 2021某宝上的千月五级分润源码影视小说源码
- 前端—每天5道面试题(5)
- 最新电脑为什么用ghost无法安装系统?安装版正常,是何原因?
- C#调用非托管Dll
- matlab2016a安装
- 【转】WinRAR软件许可框
- 带宽与网速之间的换算
- js键盘监听事件及键盘键码对照表
- HTML5网页设计成品_中华传统文化网页题材_诗词网页4页_web课程设计网页制作
- 借呗提前还款算法模拟
- 八字易经算法之用JAVA实现完整排盘系统_八字易經演算法之用JAVA實現完整排盤系統 | 學步園...
- php匹配字符串中的url并替换为超链接
- C++ 文件查找 _findfirst、_findnext和_fineclose的使用
- exchange 2013 SSO
- 介绍两个个好软件,一个是桌面提醒,一个是桌面图标管理
- 七牛云免费对象存储,并绑定到cloudreve中
热门文章
- cv2 EigenFace(特征脸)
- 【C++编程语言】严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C3848 具有类型“const MyCompare”的表达式会丢失一些 const-volatile 限定符以调用“bool
- mysql丢失数据,mysql数据丢失问题讨论(转)
- Python鼠标模拟
- 有什么提升技术能力的网站
- C++使用ffmpeg解码v模块,支持cpu解码、amd64平台的cuda解码和NX平台的Nvmpi解码
- CentOS7 aarch64 arm平台sysbench安装及CPU、内存、IO测试
- 焱融科技与趋动科技携手解决一站式存算难
- union翻译成中文_union是什么意思_union的翻译_音标_读音_用法_例句_爱词霸在线词典...
- 撩小姐姐的小程序(二)----旋转3D八音盒