读书人

Timer控件运作失败

发布时间: 2013-08-06 16:47:25 作者: rapoo

Timer控件运行失败
我有一个列表,分别是函数名称和时间,然后有一个Timer控件,间隔时间一秒,然后循环检查列表中的时间,如果时间吻合就执行函数.但是我发现,有的时候,会有漏执行的情况,不知道是什么原因,希望大家能帮我看一下.
列表 如下 mls001 mls003
a() 04:00:00
b() 05:05:00
c() 05:25:00



Private Sub time_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles time.Tick
Dim i As Integer
For i = 0 To dgv_List.Rows.Count - 1
'如果时间和列表中的时间一样,就执行函数
If DateTime.Now.ToString("HH:mm:ss") = dgv_List.Rows(i).Cells("mls003").Value.ToString.Trim Then
'函数的名称
Dim programCode As String = dgv_List.Rows(i).Cells("mls001").Value.ToString.Trim
CallProgram(programCode)
End If
Next
End Sub
Timer? 定时运行
[解决办法]
 Private Sub time_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles time.Tick
Dim i As Integer
For i = 0 To dgv_List.Rows.Count - 1
'如果时间和列表中的时间一样,就执行函数
If DateTime.Now.ToString("HH:mm") = dgv_List.Rows(i).Cells("mls003").Value.ToString.Trim Then


'函数的名称
Dim programCode As String = dgv_List.Rows(i).Cells("mls001").Value.ToString.Trim
CallProgram(programCode)
sleep(60)‘保证时间范围内只触发一次——这个sleep好像会让程序假死,你自己去找个不卡的方法。
End If
Next
End Sub




以上没有经过调试,不过意思应该能明白。
Timer的时间间隔你自己根据需要改,最好<60秒,还要考虑到你程序的执行时间,

读书人网 >VB Dotnet

热点推荐