- PR -

リアルタイムに時刻を表示

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/03/03
投稿数: 16
投稿日時: 2005-08-29 22:52
ホームページに表示した時刻をリアルタイムに動かしたいのですが、

private void TimeLabel_Load(object sender, System.EventArgs e)
{
TimeLabel.Text=DateTime.Now.ToString("HH:mm:ss");
timer1.Start();
}
としてまず、ラベルにロードした時間を表示させ、タイマーを動かし始め、
(設定は
this.timer1.Enabled = true;
this.timer1.Interval = 1000;としてあります。)

設定した感覚、この場合1秒おきにラベルに書き直す。といった処理を行おうと、

private void timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
TimeLabel.Text=DateTime.Now.ToString("HH:mm:ss");
}

と書いたのですが、全然、コードが足りないようです。

どこがいけないのか、ご教授下さい。
aacute
常連さん
会議室デビュー日: 2005/08/25
投稿数: 30
投稿日時: 2005-08-29 23:11
クライアントスクリプトの方がいいのでは?
http://www.google.co.jp/search?hl=ja&q=javascript+%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%BF%E3%82%A4%E3%83%A0+%E6%99%82%E5%88%BB&lr=
未記入
会議室デビュー日: 2005/03/03
投稿数: 16
投稿日時: 2005-08-29 23:37
aacuteさん。返答ありがとうございます。
クライアントスクリプトの選択肢も考えました。ですが、ASP.NETの方を学ぶためにこちらの方にこだわりたかったのです。自分勝手な理由ですがよろしければご教授、よろしくお願いします。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-08-29 23:50
なるほど。学ぶためというのは大事なことです。頑張ってください。

さてこの場合、ブラウザに処理がいってしまっているわけですが、
Timer の Elapsed イベントは何が発生させるのでしょうか。
試していませんが、Timer が勝手にクライアントスクリプトをはいてくれるとか、クライアントスクリプトが勝手にポストバックさせてくれるとか、そういう仕組みがないとだめですね。
サーバーで動いているものと、クライアントで動いているものの区別をつけるようにすると分かりやすいと思います。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-08-30 12:37
> どこがいけないのか、ご教授下さい。

Timerコントロールを使った時点で、魔法の杖シンドロームです。
1

スキルアップ/キャリアアップ(JOB@IT)