VB6.0 程序主窗口假死
一旦点击command1后,整个主窗口就卡掉了,其他按钮和timer中控制板面一个lable1.caption循环改变的都卡死,窗口也拖动不了,但是程序确实在运行,等一段...
一旦点击command1后,整个主窗口就卡掉了,其他按钮和timer中控制板面一个lable1.caption循环改变的都卡死,窗口也拖动不了,但是程序确实在运行,等一段时间程序运行结束弹出设定的msgbox后主窗口才恢复正常,此时timer控制的label也重新开始循环改变。求解如何不假死
循环量很小,但是该按钮程序1200多行,已经大量加上doevents了,还是不能根本上解决
If Label14.Caption <> "文件正在生成中" Then
Label14.Caption = "请输入产品信息"
End If
If Label14.Caption = "请输入产品信息" Then
Label13.Caption = Label13.Caption & "~"
If Label13.Caption = " ~~~~" Then
Label13.Caption = "~"
End If
If Label13.Caption = "~~~~~" Then
Label13.Caption = "~"
End If
End If
If Label14.Caption = "文件正在生成中" Then
Label13.Caption = Label13.Caption & "."
If Label13.Caption = "...." Then
Label13.Caption = "请等待."
End If
If Label13.Caption = "请等待...." Then
Label13.Caption = "请等待."
End If
End If
If Label14.Caption = "完成!" Then
Label13.Caption = ""
End If
这是timer中的语句 展开
循环量很小,但是该按钮程序1200多行,已经大量加上doevents了,还是不能根本上解决
If Label14.Caption <> "文件正在生成中" Then
Label14.Caption = "请输入产品信息"
End If
If Label14.Caption = "请输入产品信息" Then
Label13.Caption = Label13.Caption & "~"
If Label13.Caption = " ~~~~" Then
Label13.Caption = "~"
End If
If Label13.Caption = "~~~~~" Then
Label13.Caption = "~"
End If
End If
If Label14.Caption = "文件正在生成中" Then
Label13.Caption = Label13.Caption & "."
If Label13.Caption = "...." Then
Label13.Caption = "请等待."
End If
If Label13.Caption = "请等待...." Then
Label13.Caption = "请等待."
End If
End If
If Label14.Caption = "完成!" Then
Label13.Caption = ""
End If
这是timer中的语句 展开
展开全部
应该是你在timer中的循环语句有问题,尝试添加doevents
追问
timer中的语句已经贴出来,但是那个按钮没按的时候,label的显示是能能根据timer0.3秒做一次的,但是那个按钮一按,主程序开始运行,timer以及主窗口就都假死了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大批量进行控件属性操作是没什么效率的,建议看看代码优化方面的文章。
更多追问追答
追问
问题是,这种版面显示程序运行中的动画,网上流行的是改变某个图形控件的宽度,这应该要比我改变lable好不到哪去吧
追答
可以用GIF,那样效率高很多。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在大运算量的程序循环处加doevents
追问
循环量很小,但是该按钮程序1200多行,已经大量加上doevents了,还是不能根本上解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询