Programming memo

プログラミング備忘録

【C#】現在時間を1秒ごとに更新

現在時間を表示する方法
以下では、ラベル time1に現在時間をyyyy/MM/dd HH:mm:ss形式で表示します。

            DateTime now = DateTime.Now;
            time1.Text = now.ToString("yyyy/MM/dd HH:mm:ss");

2018/10/31 10:11:12
年/月/日 時/分/秒 の形式で表示します。


よく使いますが、1秒ごとに現在時間を更新して表示する方法は以下になります。

Timerを使う
タイマーはツールボックスからデザイン画面上に引っ張ってきます。
f:id:shinopikapi:20181031234905p:plain

timer1と表示されるので、これをダブルクリック。
Timer1_Tick()が作成されるので、これに??秒間隔で行うことを記載。

        private void Timer1_Tick(object sender, EventArgs e)
        {
            DateTime now = DateTime.Now;
            time1.Text = now.ToString("yyyy/MM/dd HH:mm:ss");
        }

間隔はtimer1のプロパティ→Interval からでも設定出来ます。(単位はミリ秒)
もしくは、コンストラクタ等で以下のように指定します。

            timer1.Interval = 1000;

タイマーを動かす。
タイマーを止めるときは、逆にfalseを指定します。

            timer1.Enabled = true;

よく使うので、備忘録。
個人的に、タイマーをバンバン使ったときにデザイン画面下部に表示されるのは便利だと思いました。

参考
方法 : Windows フォームの Timer コンポーネントを使用して一定間隔でプロシージャを実行する | Microsoft Docs