我想在白天的5个特定时间自动在文本框中显示一个句子。例如:
上午5:30,
Textbox1.text =“早餐”
上午7:30
textbox1.text =“离开学校”,
等等
一个计时器可以在应用程序启动时启动,虽然它需要参考当地时间或某个恒定时间,因为程序需要在一周中的每一天同时输出,而不必手动更改它。
答案 0 :(得分:1)
正确的方法是这样的:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Set the interval at startup.
Timer1.Interval = CInt(GetNextNotificationTime().Subtract(Date.Now).TotalMilliseconds)
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'Set the interval at each notification.
Timer1.Interval = CInt(GetNextNotificationTime().Subtract(Date.Now).TotalMilliseconds)
'Not sure whether this is required when the Interval changes or not.
Timer1.Stop()
Timer1.Start()
'Do the work here.
End Sub
Private Function GetNextNotificationTime() As Date
'...
End Function
如何实现GetNextNotificationTime
方法取决于通知时间的存储方式。只有在通知到期时,Timer
才会Tick
。
答案 1 :(得分:0)
您仍然可以使用Timer
执行此操作,而且您不必进行任何数学计算......
每次Timer
引发Tick
事件时,都会检查以下值:System.DateTime.Today.Now.ToString("HH:mm")
。如果它等于您的预设时间,请更改TextBox