VB程序运行时很卡出现无响应,怎么办?

do..loop循环中有较大计算量,里面套的for循环循环次数也多达几千次,有读取文件,计算插值,刷新msflexgird1表格。程序运行后,表面上很卡,用鼠标点击程序界... do..loop循环中有较大计算量,里面套的for循环循环次数也多达几千次,有读取文件,计算插值,刷新msflexgird1表格。程序运行后,表面上很卡,用鼠标点击程序界面,就出现无响应。电脑很好,4核处理器,VB运行时,电脑不卡运行其他程序流畅的,就是VB程序本身卡,但是能顺利计算完毕的。
请问如何让程序比较流畅地运行呢?用For i = 1 To 10
Sleep 1
DoEvents
Next让程序等10ms,但是循环很多,每次等10ms休息一下,10000次循环要耗100s。
不用sleep 1,直接在do....loop循环和for循环中用一个doevents命令么? 这是让计算停顿多久? 不好意思,我是新手!
big_buddy等高手,我已经加了几个doevents,程序出现无响应的情况少了些。但是text和labe.caption的显示却有了问题。
Do while ()
for i=1 to 10000
调用插值函数
Next
Form3.RichTextBox1.Text = ""
For i = 1 To 10000
Form3.RichTextBox1.Text = Form3.RichTextBox1.Text & Wei2(i) & Chr(13) + Chr(10)
DoEvents
Next
......
For i = 1 To 10000
.......对数运算
Next
调用 Simulation函数
label4.caption=.....
For i = 1 To 10
Sleep 1
DoEvents
Next
label1(6).caption=.....
label1(0).caption=....
Loop
运行后鼠标总是在指针状态和忙状态之间不停闪烁,而且label不能显示了,只能到最后运行完显示。以前虽然程序假死,但是在几次大循环运行后,能让label显示让我知道程序计算情况。
我看了些资料,说是外部显示刷新需要时间,vb内部运行又很快,需要靠doevents调节,我是不是用的不恰当。请指点!
展开
 我来答
big_bubby
推荐于2016-01-12 · 超过22用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:0
展开全部
这里不需要sleep,在循环中加入doevents就好了。若没有添加doevents,运行时就会出现无响应的状态,如果要此时要退出运行,按ctrl+break

补充:
不知道你的语句是怎样的,一般来说,如果是嵌套的循环,则只需要在内部的循环中添加DoEvents就可以了,但是如果嵌套的内循环是选择性的循环,则在外循环里也添加一个比较好。
例如:
for i=1 to 100000
for j=1 to 1000000
....
DoEvents
next
next
这里因为内循环不是选择性的,所以添加一个DoEvents即可;
又例如:
for i=1 to 100000
do while i>50000
....
DoEvents
loop
DoEvents
next
因为这里内循环是根据条件是否满足而执行的,因此为了避免出现资源占用率较高的情况,则在两个循环中都添加为宜。
这里怎么用DoEvents要看你的语句而定。

个人见解,抛砖引玉,仅供参考~~~
金山毒霸
2024-10-31 广告
电脑在启动游戏或软件的时候,桌面弹出错误提示框“0xc0000094”,应该怎么办?电脑报错,很大可能是因为某些DLL文件出现了异常,比如感染了病毒、DLL文件丢失等。解决方法如下:一、 手动解决方法1、先确定电脑操作系统是多少位的,现在的... 点击进入详情页
本回答由金山毒霸提供
chnes
2010-03-08 · 超过12用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:22.2万
展开全部
我以前也碰到过类似问题,我用一个笨方法:在耗时较大的循环中加入
For i = 1 To 1000 '适当调整to后的值,即是交出足够的时间给系统做出反应。不过会影响到程序运行的速度。
DoEvents
Next
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ynzsvt
2010-02-24 · TA获得超过6659个赞
知道大有可为答主
回答量:1.5万
采纳率:40%
帮助的人:2591万
展开全部
多些 DoEvents
少些 Sleep

就好了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
583380790
2010-02-24 · TA获得超过153个赞
知道答主
回答量:117
采纳率:0%
帮助的人:86.6万
展开全部
下载最新vb
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友28bb8c2
2010-02-24 · TA获得超过478个赞
知道小有建树答主
回答量:316
采纳率:0%
帮助的人:259万
展开全部
顶~~~big_bubby
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式