doevent循环可以中止一个程序执行的同时让计算机处理其他任务。 例子,进行100次循环的时间内中止本程序的执行 FOR COUNTER=1 TO 100 DOEVENT NEXT
给你一个延时代码,放在FORM_LOAD中,结束后使用UNLOAD退出或在KEYPRESS中加入退出代码 例子: Private Sub Form_Load() Me.Show WWAIT 2 '使此窗体显示2秒中 main.Show '显示主窗体 Unload Me '退出 End Sub '延时函数 Public Sub WWait(HowManySecs) Dim EndWait '获得下次的时间 EndWait = DateAdd("s", HowManySecs, Now) '进入循环,若现在的时间已超过(到了时间) '跳出循环,进行其他工作 Do While Now < EndWait DoEvents Loop End Sub
Private Declare Function GetTickCount Lib "Kernel32" () As Long Public Bwake as boolean Sub form_load Dim iTick lTick = GetTickCount While GetTickCount - lTick < 500 Wend Bwake = true Unload Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)End Sub
Private Declare Function GetTickCount Lib "Kernel32" () As Long Public Bwake as boolean Private Sub Form_Activate() '上一个错了 Dim iTick lTick = GetTickCount While GetTickCount - lTick < 500 Wend Bwake = true Unload Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) if Bwake then ' show your new form end if End Sub
例子,进行100次循环的时间内中止本程序的执行
FOR COUNTER=1 TO 100
DOEVENT
NEXT
例子:
Private Sub Form_Load()
Me.Show
WWAIT 2 '使此窗体显示2秒中
main.Show '显示主窗体
Unload Me '退出
End Sub
'延时函数
Public Sub WWait(HowManySecs)
Dim EndWait
'获得下次的时间
EndWait = DateAdd("s", HowManySecs, Now)
'进入循环,若现在的时间已超过(到了时间)
'跳出循环,进行其他工作
Do While Now < EndWait
DoEvents
Loop
End Sub
Public Bwake as boolean
Sub form_load
Dim iTick
lTick = GetTickCount
While GetTickCount - lTick < 500
Wend
Bwake = true
Unload
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)End Sub
Public Bwake as boolean
Private Sub Form_Activate() '上一个错了
Dim iTick
lTick = GetTickCount
While GetTickCount - lTick < 500
Wend
Bwake = true
Unload
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
if Bwake then
' show your new form
end if
End Sub