Комментарий Джаведа Акрама правилен - ничего из этого не имеет значения, если программа не запускается в полночь.
Однако, для того, что вы на самом деле просили - сброс счетчика в полночь - подумайте о добавлении ТАЙМЕРА в ваш проект. Вам действительно нужен таймер, чтобы щелкать один раз в день (в полночь):
Private Sub SetInterval()
' Calculate how many milliseconds until the timer ticks again:
' Start by calculating the number of seconds between now and tomorrow.
' Multiply by 1000, then add 50 more -- this is to make sure that the
' timer runs 1/50 of a second AFTER midnight, so that we can
' re-calculate the interval again at that time.
Timer1.Interval = CInt( _
DateDiff(DateInterval.Second, Now, Today.AddDays(1)) * 1000 + 50)
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Timer1.Tick
' Reset the interval, so that we run again tomorrow at midnight.
SetInterval()
' Now, reset your label
Label1.Text = "750" ' Or whatever else needs to happen to reset the count
End Sub
Вам также нужно добавить вызов SetInterval в Form_Load (или какова бы ни была инициализация вашей программы), чтобы установить самый первый интервал.
В почти полностью UN- заметке кто-нибудь знает, почему у класса Date есть функция AddMilliseconds, а у Microsoft.VisualBasic.DateInterval (и, следовательно, у функции DateDiff) нет миллисекунд? Это несимметрично.