一个简单的定时器,朋友们看看有没有更好的方法?交流为主
方法:
使用timer控件作为触发器,每隔(计划时间-现在时间)/2作为触发时间,当小于2秒时,以0.5秒作为触发时间。
控件:button,dtpicker1,timer
代码:
Dim datePlan As Date
Dim dblVar As Double
Private Sub Command1_Click()
'定时开始
datePlan = DTPicker1.Value
Timer1.Interval = 500
End Sub
Private Sub DTPicker1_Change()
datePlan = DTPicker1.Value
End Sub
Private Sub Form_Load()
DTPicker1.Value = Now
End Sub
Private Sub Timer1_Timer()
Dim lngVar As Long
'计算计划时间与现在时刻相差的时间(用秒计算)
dblVar = datePlan - Now
lngVar = CLng(dblVar * 24 * 60 * 60)
If lngVar < 2 Then
If lngVar = 0 Then
Debug.Print "事件开始"
Timer1.Interval = 0
Exit Sub
End If
Timer1.Interval = 500
Exit Sub
End If
Timer1.Interval = lngVar * 500
Debug.Print lngVar
End Sub