关于VB中延时问题,定义了一个delay()方法,然后当我点击是,希望label1上先出现5,然后隔3秒再更改成4,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于VB中延时问题,定义了一个delay()方法,然后当我点击是,希望label1上先出现5,然后隔3秒再更改成4,相关的知识,希望对你有一定的参考价值。
为什么,当我运行时,单击后直接出现4,求助
Sub delay(delaytime As Long)
For i = 1 To delaytime
DoEvents
Next i
End Sub
Private Sub Command1_Click()
Label1.Caption = 5
delay (3)
Label2.Caption = 4
End Sub
程序如下,上面的有错误
Sub delay(delaytime As Long)
For i = 1 To delaytime
DoEvents
Next i
End Sub
Private Sub Command1_Click()
Label1.Caption = 5
delay (3)
Label1.Caption = 4
End Sub
在窗体上加Timer控件,控件名是Timer1
Timer1属性改一下:Enabled=False
Interval=3000 ‘这句相当于3秒
代码里
Private Sub Timer1_Timer()
Label1.Caption = 4
Timer1.Enabled = False
End Sub
Private Sub Command1_Click()
Label1.Caption = 5
Timer1.Enabled=True
End Sub 参考技术A 错了,你这是循环3次,不是延时3秒。
应该把Delay过程改为
sub delay(delaytime As Long)
dim dblSaveTimer as double
dblSaveTimer=timer
do while true
if timer-dblsavetimr>3 then
exit do
else
doevents
end if
loop
end sub 参考技术B 呵呵,你仔细找找,你代码里头哪儿有延时一秒的代码?
DoEvents 是没有延时功能的,它只是让你的程序看起来没死机。
你得设法加上真正能延时的代码。方法很多,空循环、Sleep或者检查Timer都可以。
以上是关于关于VB中延时问题,定义了一个delay()方法,然后当我点击是,希望label1上先出现5,然后隔3秒再更改成4,的主要内容,如果未能解决你的问题,请参考以下文章