关于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控件,
在窗体上加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,的主要内容,如果未能解决你的问题,请参考以下文章

C语言中 delay 函数如何运用?

51单片机C语言中delay函数是怎么定义和使用的?

解决延时函数耗费单片机内部资源的问题。可以将延时函数放在中断中……方法解释一下

单片机中delay函数精确延时多少ms?

虚幻4延时函数(Delay)对gpu有影响吗 ?

这两个延时函数该怎么理解,又怎么使用,请大神指教?