如何更新DateTime值而不在WF中按下它?

时间:2014-05-01 12:49:56

标签: c# windows-forms-designer

Windows窗体程序(VS13)中,我添加了一个计时器,但只有在我按下它时它才会更新。如何让它更新值而不按?

private void label17_Click(object sender, EventArgs e)
        {
            DateTime d = DateTime.Now;
            this.label17.Text = d.Hour + ":" + d.Minute;
        }

2 个答案:

答案 0 :(得分:2)

您可以使用以下代码:

private void Window_Loaded(object sender, RoutedEventArgs e)
{    
    DispatcherTimer dispatcherTimer = new DispatcherTimer();
    dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
    dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
    dispatcherTimer.Start();
}

private void dispatcherTimer_Tick(object sender, EventArgs e)
{
    this.label17.Text=(DateTime.Now.Hour.ToString() + ":" +
    DateTime.Now.Second.ToString());    
}

答案 1 :(得分:1)

那不是计时器。您已将其添加到标签的点击事件处理程序中,因此当然只有在您点击它时才会更新。您需要实现Timer对象并更新其tick事件上的标签。