VB的延时1秒命令怎么写,在线给分

2025-06-22 15:37:31
推荐回答(2个)
回答1:

VB提倡的是用定时器控件(Timer)的方法。首先在窗体放入一个Timer1和Command1,然后输入以下代码:

Private Sub Command1_Click()
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub

Private Sub Form_Load()
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()
MsgBox "这个对话框是点击按钮1秒钟后弹出来的"
Timer1.Enabled = False
End Sub


此外还可以用API函数Sleep来延时,或者利用循环结合时间函数来延时,但它们都容易造成系统阻塞,所以不建议使用。

使用定时器控件还有一个最大好处,就是在延时期间你的程序还可以继续运行处理其他事务(比如鼠标点击、键盘输入等)。而其他方法产生的延时效果,在延时期间就只能傻等,什么也做不了,甚至还有可能影响到其他程序。

回答2:

将以下代码加入到新建模块中:

Private Declare Function timeGetTime Lib "winmm.dll" () As Long
 
' ################################
' [功能描述] 延时等待指定的毫秒数.
' [参数列表] Milliseconds  毫秒数.
' [返回类型] 无.
' ################################
Public Sub Delay(ByVal Milliseconds As Long)
    Dim lngTime As Long
    
    lngTime = timeGetTime
    
    While timeGetTime < lngTime + Milliseconds
        DoEvents
    Wend
End Sub


调用:

Delay 1000 ' 延时 1 秒