C# 如何使用当前时间持续更新标签?

C# 如何使用当前时间持续更新标签?,c#,datetime,clock,hour,C#,Datetime,Clock,Hour,我使用了以下代码行 int pp = DateTime.Now.Hour; 没关系。我写 label1.text=pp.tostring(); 为了验证,它可以工作,但是如果我在label1中的19:59(例如)打开我的表单,会出现19,一分钟后,当时钟为08:00,label1中的值不会改变,仍然会出现19,而不是20 之后,如果我关闭表单并重新打开它,label1中的数字是20 在窗体运行时,如何实时修改datetime.now.hour的值? 谢谢因为您使用的是“表单”术语,所以我假

我使用了以下代码行

int pp = DateTime.Now.Hour; 
没关系。我写

label1.text=pp.tostring();
为了验证,它可以工作,但是如果我在label1中的
19:59
(例如)打开我的表单,会出现
19
,一分钟后,当时钟为
08:00
,label1中的值不会改变,仍然会出现
19
,而不是
20

之后,如果我关闭表单并重新打开它,label1中的数字是
20

在窗体运行时,如何实时修改datetime.now.hour的值? 谢谢

因为您使用的是“表单”术语,所以我假设使用Windows表单,最简单的方法是添加一个
计时器
组件,设置一个合理的
间隔
(合理的意思是,在标签更改之前的小时更改时,您能承受的最大延迟时间是多长…间隔越高,进程占用的CPU就越少)在其上,以及在其
勾选
事件上,执行以下操作:

static void MyTimer_Tick(object sender, EventArgs e)
{
  int pp = DateTime.Now.Hour;
  label1.text=pp.tostring();
}
由于您使用的是“表单”术语,我将假设Windows表单,最简单的方法是添加一个
计时器
组件,设置一个合理的
间隔
(合理的意思是,在标签更改之前的小时更改时,您能承受的最大延迟时间是多长…间隔越高,进程占用的CPU就越少)在其上,以及在其
勾选
事件上,执行以下操作:

static void MyTimer_Tick(object sender, EventArgs e)
{
  int pp = DateTime.Now.Hour;
  label1.text=pp.tostring();
}

您需要实现一个
计时器
,并让它的
事件更新
label1.text
。只调用
DateTime.Now.Hour
是不够的,因为它只更新一次。它没有设置定期更新的方法

using System.Timers;

namespace Example {
    static Timer _timer;

    static void Main() {
        _timer = new Timer(1000); // Update every 1 second.
        _timer.Elapsed += UpdateMyLabel;
        _timer.Start();
    }

    static void UpdateMyLabel(object sender, ElapsedEventArgs e) {
        label1.Text = DateTime.Now.Hour;
    }
}

您需要实现一个
计时器
,并让它的
事件更新
label1.text
。只调用
DateTime.Now.Hour
是不够的,因为它只更新一次。它没有设置定期更新的方法

using System.Timers;

namespace Example {
    static Timer _timer;

    static void Main() {
        _timer = new Timer(1000); // Update every 1 second.
        _timer.Elapsed += UpdateMyLabel;
        _timer.Start();
    }

    static void UpdateMyLabel(object sender, ElapsedEventArgs e) {
        label1.Text = DateTime.Now.Hour;
    }
}

我会推断标签类并使用计时器刻度来更新标签。就像在OOP;)中一样。

我会推断标签类并使用计时器刻度来更新标签。就像在OOP;)中一样。

带有刻度事件的计时器?您需要计时器。检查计时器控件。使用计时器并在其
Tick
处理程序中更新UI(前提是这是WinForms问题)。或者在WPF或您正在使用的任何UI库中执行等效操作。您只需根据当前时间设置一次值。如果您希望实时更新该值,则需要使用计时器或其他工具更新该值。我将编辑此问题,以明确您询问的是如何自动刷新标签;您的问题与日期时间无关。带有滴答事件的计时器?您需要计时器。检查计时器控件。使用计时器并在其
Tick
处理程序中更新UI(前提是这是WinForms问题)。或者在WPF或您正在使用的任何UI库中执行等效操作。您只需根据当前时间设置一次值。如果您希望实时更新该值,则需要使用计时器或其他工具更新该值。我将编辑此问题,以明确您询问的是如何自动刷新标签;你的问题与日期时间无关。