2017-08-22 40 views
-1

我設置了需要在特定時間每天啓用的計數器。例如,每天(下午3點)都會說。我想到的是一段代碼。但它給了我,當它到達的時候說的參數是無效的,請幫我一個錯誤,每天在特定時間啓用計數器

Private t As Integer = 0 

Private Sub Home_monitoring_tab_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     rs.FindAllControls(Me) 
     Execute() 
End Sub 

Private Sub Execute() 
     If DateTime.Now.ToString("HH:mm") = "15:00" Then 
      shift1_timer.Enabled = True 
     End If 
End Sub 

Private Sub shift1_timer_Tick(sender As Object, e As EventArgs) Handles shift1_timer.Tick 
     t += 1 
     Label14.Text = CStr(t) 
End Sub 
+0

你不需要轉換成字符串來評價的時間。檢查'DateTime'屬性,你會看到有一個'Hour'和'Minutes'屬性。但是,該代碼不應該拋出任何錯誤 - 但它不會做你想要的。如果您剛好在15:00啓動應用程序,計時器纔會啓用。請閱讀[問]並參加[導覽],也許張貼真實的代碼。 – Plutonix

+0

只有在打開程序的時候,纔會調用Execute()方法,所以如果時間並非完全是'15:00',那麼當您運行程序時,它不會啓動計時器,因此您可以將計時器在另一個持續運行的計時器中檢查語句。 –

回答

0

試試這個,計時器添加到您的程序,並把它CheckTimer並更新你的代碼是這樣的:

Private t As Integer = 0 

Private Sub Home_monitoring_tab_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    rs.FindAllControls(Me) 
    CheckTimer.Interval = 1 
    CheckTimer.Start 
End Sub 

Private Sub CheckTimer_Tick(sender As Object, e As EventArgs) Handles CheckTimer.Tick 
    If DateTime.Now.ToString("HH:mm") = "15:00" Then 
     shift1_timer.Enabled = True 
    End If 
End Sub 

Private Sub shift1_timer_Tick(sender As Object, e As EventArgs) Handles shift1_timer.Tick 
    t += 1 
    Label14.Text = CStr(t) 
End Sub 

希望它能幫助:)

相關問題