WinFormsで簡単なタイマーを実装しよう!
目次
目標
WinFormsアプリケーションで、ボタンをクリックすることでカウントアップする簡単なタイマーを実装します。
ステップ1: 新しいプロジェクトを作成
- Visual Studioを開き、「新しいプロジェクト」を選択します。
- 「Windows Forms アプリケーション」を選択し、プロジェクトに名前を付けて「作成」ボタンをクリックします。
ステップ2: 必要なコントロールをフォームに追加
フォームに以下のコントロールを追加します。
Label
コントロール(labelCounter
):カウントを表示するために使用します。Button
コントロール(buttonStart
):タイマーを開始するためのボタン。Button
コントロール(buttonStop
):タイマーを停止するためのボタン。
これらのコントロールは、フォームのデザインビューでドラッグ&ドロップで配置できます。
ステップ3: コードの実装
フォームに追加したコントロールを使って、タイマー機能を実装します。
Form1
のコードビハインド(Form1.cs
)を開きます。- 以下のコードを追加します。
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: デザインビューでコントロールを配置
Label
コントロール(labelCounter
)のText
プロパティは空白に設定しておきます。タイマーが動作するごとに、このラベルにカウントが表示されます。Button
コントロール(buttonStart
)には「開始」のようなテキストを設定し、buttonStop
には「停止」のようなテキストを設定します。
ステップ6: 実行と確認
- フォームを実行(F5キー)し、アプリケーションを起動します。
- 「開始」ボタンをクリックすると、カウントが1秒ごとに増えていきます。
- 「停止」ボタンをクリックすると、タイマーが停止します。
まとめ
このチュートリアルでは、WinFormsのTimer
コントロールを使用して、1秒ごとにカウントアップするアプリケーションを作成しました。タイマーを開始・停止するボタンを用意し、Label
にカウントを表示することで、簡単に動作確認ができました。
ディスカッション
コメント一覧
まだ、コメントがありません