2011-02-17 14 views

答えて

12

〜1000の間隔(ミリ秒)を設定し、TimerコントロールをダブルクリックがTimer1_Tickのコードビハインド編集して、このコードを追加するために、タイマ1と呼ばれる、フォームに新しいTimerコントロールを追加します。

this.label1.Text = DateTime.Now.ToString(); 
+0

と 'Timer1.Start()でタイマーを起動し忘れてはいけない;' –

+0

グッドキャッチ - またはTrue – servermanfail

8

Timerコントロールを追加し、1秒に1回(1000 ms)実行するように設定されています。そのタイマーのTick eventでは、ラベルを現在の時刻で更新できます。

DateTime.Nowのようなものを使用して現在時刻を取得できます。

7

あなたはミリ秒間隔

private void timer1_Tick(object sender, EventArgs e) 
    { 
     lblTime.Text = DateTime.Now.ToString("dd-MMM-yyyy hh:mm:ss tt"); 
    } 
6

は、次のコード試してみてくださいタイマーコントロールを追加し、1000年のためにそれを指定することができます、あなたはまた、有効にするためにタイマーを設定する必要があります

private void timer1_Tick(object sender, EventArgs e) 
{ 
    lblTime.Text = DateTime.Now.ToString("hh:mm:ss"); 
} 
4

をコードまたはプロパティウィンドウのいずれかにあります。タイマー間隔がないので

private void myTimer_Tick(object sender, EventArgs e) 
{ 
    timeLabel.Text = DateTime.Now.ToString("hh:mm:ss");    
} 
+0

にデザイナーでEnabledプロパティを設定するありがとう男... greateの –

0

コードで、フォームのロードセクションで次のように入力してください。その後

myTimer.Enabled = true; 
myTimer.Interval = 1000; 

を、あなたのタイマーイベントがこれに似ていることを確認してくださいあなたのアップデートが間違っている可能性があり、実際の秒の移行に関して漂っています。いくつかのイベントでは、移行の遅れや移行前に時間がずれて表示されます。

秒の変更時に更新を発生させるために高い頻度でポーリングするのではなく、

レギュレータが好きな場合は、表示するタイムスタンプのMillisecondプロパティを使用して1000ミリ秒タイマーを調整して、実際のセカンドトランジションから100ミリ秒後に安全にタイムアップデートを調整できます。タイマーイベントコードで

はこのような何かを:

//Read time 
DateTime time = DateTime.Now; 

//Get current ms offset from prefered readout position 
int diffms = time.Millisecond-100; 

//Set a new timer interval with half the error applied 
timer.Interval = 1000 - diffms/2; 

//Update your time output here.. 

次のタイマー間隔は、100ミリ秒の移行後に近い選択した点にトリガする必要があります。トランジション+ 100msで、エラーが+/-に切り替わり、読み出し位置が時間通りに保持されます。

0
private int hr, min, sec; 

public Form2() 
{ 
    InitializeComponent(); 
    hr = DateTime.UtcNow.Hour; 
    min = DateTime.UtcNow.Minute; 
    sec = DateTime.UtcNow.Second; 
} 

//Time_tick click 
private void timer1_Tick(object sender, EventArgs e) 
{ 
    hr = DateTime.UtcNow.Hour; 
    hr = hr + 5; 
    min = DateTime.UtcNow.Minute; 
    sec = DateTime.UtcNow.Second; 

    if (hr > 12) 
     hr -= 12; 

    if (sec % 2 == 0) 
    { 
     label1.Text = +hr + ":" + min + ":" + sec; 
    } 
    else 
    { 
     label1.Text = hr + ":" + min + ":" + sec; 
    } 
} 
+0

コードのみ回答は貧しい練習考えられています。説明をすばやく紹介してください。 –

関連する問題