vb窗体假死,不能显示lable
我写了一个vb程序,其作用是读取一个有上万行的文本文件,并且逐行进行十进制转十六进制的处理并写入另一个文本中,我想在vb主窗体的一个label控件中显示进度如"当前进度为...
我写了一个vb程序,其作用是读取一个有上万行的文本文件,并且逐行进行十进制转十六进制的处理并写入另一个文本中,我想在vb主窗体的一个label控件中显示进度如"当前进度为i/j"(其中i是正在处理的第i个数,j为文本的行数),但是在实际操作中,vb窗体一旦运行处理数据,窗体就进入假死状态,进度也就没办法显示了,该怎么办,是不是应该将处理数据的命令放在form2中,而显示进度的label放在form1中。
展开
1个回答
展开全部
应该在循环中插入DoEvents,如:
'.....
Do While Not EOF(1)
'....处理文件的操作
'....显示Label的操作
DoEvents
Loop
'.....
'.....
Do While Not EOF(1)
'....处理文件的操作
'....显示Label的操作
DoEvents
Loop
'.....
追问
Do While Not EOF(1)
loop
这个是逐行读取文本时的操作吧,我是直接先读取文本的整个的内容,然后再放到数组里面,再一个一个的处理并且输出,用的就是for循环,也是在中间放一个loop就行额吗?
追答
For 。。。。
。。。。
DoEvents '这个是关键!
。。。。
Next
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询