我有一个关于每晚同时重置标签的问题。
我的意思是: 1.启动程序时我的label.text = 750 每当有人点击按钮时,标签文本都会减少1 750 749 748等等
但现在我希望每天00:00标签的文字重置为750。
可能吗?
答案 0 :(得分:0)
Javed Akram的评论是正确的 - 如果程序没有在午夜运行,那么这一切都不重要。
但是,对于您实际要求的内容 - 在午夜重置计数 - 请考虑在项目中添加TIMER。你真的只需要计时器每天点击一次(午夜):
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
您还需要在Form_Load中添加对SetInterval的调用(或者无论您的程序初始化是什么),以设置第一个间隔。
在一个几乎完全 UN - 相关的注释中,有没有人知道为什么Date类有一个AddMilliseconds函数,但是Microsoft.VisualBasic.DateInterval(因此DateDiff函数)没有Milliseconds?它是非对称的。