Visual Basic - 在00:00重置

时间:2011-04-16 13:42:06

标签: vb.net date reset

我有一个关于每晚同时重置标签的问题。

我的意思是: 1.启动程序时我的label.text = 750 每当有人点击按钮时,标签文本都会减少1 750 749 748等等

但现在我希望每天00:00标签的文字重置为750。

可能吗?

1 个答案:

答案 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?它是非对称的。