【学習】WinFormsでタイマーを使ってみよう② デジタル時計

広告

Windows Forms アプリでは Timer コンポーネントを使うことで、

  • 一定時間ごとに処理を実行する
  • 時計
  • アニメーション
  • 自動更新

などを簡単に作ることができます。

今回はプロパティウインドウからイベントを登録する方法でTimerを使ってみます。これは WinFormsらしい作り方で、初学者にも理解しやすい方法です。

ソリューションとプロジェクトを作る

カウントダウンのチュートリアルで作成した TimerSample ソリューションに、新しいプロジェクトを追加します。

  • ソリューションエクスプローラーでソリューションを右クリック → 追加 → 新しいプロジェクト
  • テンプレート: Windows Forms アプリ (.NET Framework)
  • プロジェクト名: Clock

同じソリューション内に複数のプロジェクトを置くことで、学習の流れを整理できます。作成すると Form1が表示されます。


フォームに配置するコントロール

Labelを配置する

ツールボックスから Label をフォームに配置します。

プロパティ
名前timeLabel
Text00:00:00
Font少し大きくすると見やすいです

Timerを配置する

ツールボックスから Timer をフォームにドラッグします。

フォームの下に timer1 が表示されます。(これは画面には表示されないコンポーネントです)


Timerの設定(プロパティ)

timer1 を選択して、プロパティウィンドウで設定します。

Interval = 1000

これは1000ミリ秒 = 1秒を意味します。


イベントを登録する

ここが重要です。

  1. プロパティウィンドウの上にある ⚡ 雷マーク(イベント) をクリックする
  2. その中に Tick がある
  3. Tick の右側をダブルクリックする

すると Visual Studio が timer1_Tick というイベントメソッドを自動生成します。

自動生成されたコード

Form1.cs に次のコードが追加されます。

private void timer1_Tick(object sender, EventArgs e)
{

}

このメソッドはIntervalで設定した時間ごとに呼ばれるメソッドです。

時刻を表示する

Tickイベントの中に次のコードを書きます。

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

これで現在時刻がラベルに表示されます。

タイマーをスタートする

フォームが表示されたときにタイマーを動かします。Form1のコンストラクタに追加します。

public Form1()
{
    InitializeComponent();

    timer1.Start();
}

完成コード

using System;
using System.Windows.Forms;

namespace TimerSample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            // タイマー開始
            timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            // 現在時刻を表示
            timeLabel.Text = DateTime.Now.ToString("HH:mm:ss");
        }
    }
}

プログラムの流れ

フォームが表示される
        ↓
timer1.Start()
        ↓
1秒ごとに timer1_Tick が呼ばれる
        ↓
timeLabel に現在時刻を表示

実行結果

アプリを実行すると、00:00:00 のラベルが1秒ごとに更新されて時計のように動きます。


重要ポイント

WinFormsでは

  1. プロパティで設定
  2. イベントを登録
  3. イベントメソッドを書く

という流れが基本になります。

つまり

見た目 → 設定 → イベント → コード

の順番です。これが GUIプログラミングの基本構造です。

訪問数 22 回, 今日の訪問数 22回

広告