最简单的方法:加个timer,form的load中把timer的enable设为true,timer的触发间隔设为1000(1秒),事件中用一个static的变量从0开始,每次触发+1,到10时关闭程序。这个方法的缺点是timer的时间不精确。
稍复杂的方法:用游戏级定时技术,GetTickCount函数获得当前时间保存,然后用一个死循环中反复用GetTickCount检查时间,当与之前保存的时间间隔达到10s后退出。在vb这种单线程里,可以在循环中加入doevents语句,这样窗体不会假死。
Private Sub Command1_Click()
Dim ST As Long, ED As Long '声明
ST = Timer'获取开始运行程序的时间
Do
ED = Timer'获取现在时间
DoEvents'释放控制
Loop Until ED - ST >= 10'开始时间-现在的时间等于10秒就退出,你想要多少秒自己修改。
If ED - ST >= 10 Then'最后加个判断
End'退出程序
End If
End Sub
我只是将cfanpk 的方法换成代码。
首先在设置状态吧Timer1控件的Enabled设置成False
Private Sub Form_Load()
Timer1.Interval = 10000
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
End
End Sub
这样当Timer1控件执行时程序就自动退出了
时间控件.10秒后 END 就行了。
Dim Js As Integer
Private Sub Form_Load()
Timer1.Interval = 5000
End Sub
Private Sub Timer1_Timer()
Js = Js + 1
If Js >= 2 Then End
End Sub