WinFormsで簡単なタイマーを実装しよう!

目標

WinFormsアプリケーションで、ボタンをクリックすることでカウントアップする簡単なタイマーを実装します。

ステップ1: 新しいプロジェクトを作成

  1. Visual Studioを開き、「新しいプロジェクト」を選択します。
  2. 「Windows Forms アプリケーション」を選択し、プロジェクトに名前を付けて「作成」ボタンをクリックします。

ステップ2: 必要なコントロールをフォームに追加

フォームに以下のコントロールを追加します。

  • Label コントロール(labelCounter):カウントを表示するために使用します。
  • Button コントロール(buttonStart):タイマーを開始するためのボタン。
  • Button コントロール(buttonStop):タイマーを停止するためのボタン。

これらのコントロールは、フォームのデザインビューでドラッグ&ドロップで配置できます。

ステップ3: コードの実装

フォームに追加したコントロールを使って、タイマー機能を実装します。

  1. Form1 のコードビハインド(Form1.cs)を開きます。
  2. 以下のコードを追加します。
using System;
using System.Windows.Forms;

namespace TimerExample
{
    public partial class Form1 : Form
    {
        private Timer timer; // Timerコントロールのインスタンス
        private int counter; // カウントを保持する変数

        public Form1()
        {
            InitializeComponent();

            // タイマーの初期化
            timer = new Timer();
            timer.Interval = 1000; // 1000ミリ秒 = 1秒
            timer.Tick += Timer_Tick; // Tickイベントが発生したときに呼び出されるメソッドを指定

            // カウンターの初期化
            counter = 0;

            // ボタンのイベントハンドラーを通常のメソッドで設定
            buttonStart.Click += ButtonStart_Click;
            buttonStop.Click += ButtonStop_Click;
        }

        // 通常のイベントハンドラメソッド
        private void ButtonStart_Click(object sender, EventArgs e)
        {
            timer.Start();
        }

        private void ButtonStop_Click(object sender, EventArgs e)
        {
            timer.Stop();
        }

        // タイマーのTickイベントハンドラ
        private void Timer_Tick(object sender, EventArgs e)
        {
            counter++; // カウントをインクリメント
            labelCounter.Text = $"カウント: {counter}"; // ラベルにカウントを表示
        }
    }
}

ステップ4: コードの説明

  • Timer コントロールの設定
    タイマーの間隔は timer.Interval = 1000; で1秒(1000ミリ秒)に設定します。タイマーが1秒ごとに Tick イベントを発生させ、Timer_Tick メソッドが呼ばれます。
  • カウンターのインクリメント
    タイマーが1秒ごとに Timer_Tick イベントを発生させ、そのたびにカウンター変数 counter が1ずつ増加します。そして、labelCounter.Text にカウントを表示します。
  • ボタンのイベントハンドラー
    buttonStart.Click イベントでタイマーをスタートし、buttonStop.Click イベントでタイマーをストップします。

ステップ5: デザインビューでコントロールを配置

  1. Label コントロール(labelCounter)の Text プロパティは空白に設定しておきます。タイマーが動作するごとに、このラベルにカウントが表示されます。
  2. Button コントロール(buttonStart)には「開始」のようなテキストを設定し、buttonStop には「停止」のようなテキストを設定します。

ステップ6: 実行と確認

  1. フォームを実行(F5キー)し、アプリケーションを起動します。
  2. 「開始」ボタンをクリックすると、カウントが1秒ごとに増えていきます。
  3. 「停止」ボタンをクリックすると、タイマーが停止します。

まとめ

このチュートリアルでは、WinFormsのTimerコントロールを使用して、1秒ごとにカウントアップするアプリケーションを作成しました。タイマーを開始・停止するボタンを用意し、Labelにカウントを表示することで、簡単に動作確認ができました。