请问在vb中如何实现延时几秒钟呢?

nieguodong 2003-10-09 10:15:09
请问在vb中如何实现延时几秒钟呢?
...全文
601 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
danielinbiti 2003-10-09
  • 打赏
  • 举报
回复
sleep时,用户没法操作,
private sub command_click()
demodelay 1 '延时1秒
end sub
Public Sub DemoDelay(n)
Dim sngStartTime As Single
On Error Resume Next
sngStartTime = Timer
Do Until (Timer - sngStartTime) > n
DoEvents
Loop
End Sub
rednod 2003-10-09
  • 打赏
  • 举报
回复
用这个吧,
Public Sub Delay(HowLong As Date) '延时程序
TempTime = DateAdd("s", HowLong, Now)
While TempTime > Now
DoEvents '控制权交给windows
Wend

End Sub

delay 5 ‘就可以实现延时5秒,参数你可以随便。
qqyong 2003-10-09
  • 打赏
  • 举报
回复
可以用Timer函数,比如延时3秒的代码为:
dim startimer as single,between as single,endtime as single
starttime=timer
do
doevents
endtime=timer
if endtime<startime then endtime=endtime+86400
between=endtime-startime
loop until between>3
射天狼 2003-10-09
  • 打赏
  • 举报
回复
楼上两位老兄,TIMER控件是异步执行的,能实现延时吗?!?
whjwsy 2003-10-09
  • 打赏
  • 举报
回复
Private Sub Form_Load()
Me.Show

Dim Start, PauseTime As Integer
PauseTime = 3
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop

Unload Me
golden24kcn 2003-10-09
  • 打赏
  • 举报
回复
Declare Function GetTickCount Lib "kernel32" () As Long

Sub Pause(HowLong As Long)
Dim u%, tick As Long
tick = GetTickCount()
Do
u% = DoEvents
Loop Until tick + HowLong < GetTickCount
End Sub

楼上仁兄们说的方法是让程序停止响应,我的这个是休眠,但是还可以响应,不知道你要的是哪种
longyangyang 2003-10-09
  • 打赏
  • 举报
回复
最简单的办法就是用time 控件
lzj34 2003-10-09
  • 打赏
  • 举报
回复
上面的方法可行,还有一种方法就是在要延时的地方加上一个TIMER控件进行延时
MSSQL 2003-10-09
  • 打赏
  • 举报
回复
Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
以下延时一秒钟
Sleep 1000
射天狼 2003-10-09
  • 打赏
  • 举报
回复
写错了,是:
Sleep 1000 '时间是毫秒级的
射天狼 2003-10-09
  • 打赏
  • 举报
回复
Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)

Slepp 1000 '时间是毫秒级的

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧