-1

私はDateTimeクラスのコードの下で使用したWindowsフォームを持っていますが、タイミングをフォームで変数にする必要があります

        LblLocalTime.Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
        LblUTCTime.Text   = DateTime.UtcNow.ToString("MM/dd/yyyy HH:mm:ss"); 

私は何をすべきか?

4

2 に答える 2

8

Timer クラスを使用し、希望する間隔を設定します

private void Form1_Load()
{
      Timer tmr = new Timer();
      tmr.Interval = 1000;//ticks every 1 second
      tmr.Tick+=new EventHandler(tmr_Tick);
      tmr.Start();    
}

//change the label text inside the tick event
private void tmr_Tick(object sender, EventArgs e)
{
      LblLocalTime.Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
      LblUTCTime.Text   = DateTime.UtcNow.ToString("MM/dd/yyyy HH:mm:ss");          
}
于 2012-10-02T12:43:30.857 に答える
1

あなたがしていることは、テキストを一度設定するだけです。現在の DateTime を反映するために、ラベルを常に更新する必要があります。1 秒間隔でタイマーを設定し、各 Tick イベントのラベルを更新します。

System.Timers.Timer timer = new System.Timers.Timer();
Timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Elapsed);
Timer.Interval = 1000;

private void Timer_Elapsed(object sender, EventArgs e)
{
     LblLocalTime.Text = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
     LblUTCTime.Text   = DateTime.UtcNow.ToString("MM/dd/yyyy HH:mm:ss"); 
}
于 2012-10-02T12:41:10.953 に答える