フォームのイベントを処理する
ボタンのクリックやフォームの送信など、ユーザー操作の処理方法を学びます
「フォームのイベントを処理する」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全3レッスンが含まれています。
イベントとは
イベントとは
イベントとは、ボタンのクリック、マウスの移動、テキストの入力など、プログラムが応答できるアクションや発生事象です。イベント処理を使用すると、これらのアクションに対してアプリケーションがどのように反応するかを定義できます。
重要なポイント: Windows Forms は、ユーザーの操作に応答するイベント駆動型プログラミングを使用します。

イベントの理解
イベントとは
イベントとは、ボタンのクリック、マウスの移動、テキストの入力など、プログラムが応答できるアクションや発生事象です。イベント処理を使用すると、これらのアクションに対してアプリケーションがどのように反応するかを定義できます。
重要なポイント: Windows Forms は、ユーザーの操作に応答するイベント駆動型プログラミングを使用します。
イベントの購読
イベントの購読
イベントを処理するには、イベントが発生したときに実行されるメソッド(イベントハンドラー)を割り当てて、イベントを購読する必要があります。例:
using System;
using System.Windows.Forms;
class Program : Form {
static void Main() {
Application.Run(new Program());
}
public Program() {
Button button = new Button() {
Text = "Click Me",
Left = 100,
Top = 50
};
button.Click += Button_Click;
Controls.Add(button);
}
private void Button_Click(object sender, EventArgs e) {
MessageBox.Show("Button was clicked!");
}
}
一般的なイベント
一般的なイベント
Windows Forms でよく使用されるイベントをいくつか紹介します:
- Click: ボタンやその他のクリック可能なコントロールがクリックされたときに発生します。
- TextChanged: テキストボックス内のテキストが変更されたときに発生します。
- MouseEnter: マウスポインターがコントロールに入ったときに発生します。
- KeyDown: コントロールにフォーカスがある状態でキーが押されたときに発生します。
重要なポイント: 各イベントには固有の目的があり、複数のイベントを使用して操作性を高めることができます。
Designer でのイベントハンドラーの追加
Designer でのイベントハンドラーの追加
Windows Forms Designer を使用してイベントハンドラーを追加できます:
- Designer でコントロールを選択します。
- プロパティウィンドウを開き、イベントタブ(稲妻アイコン)に移動します。
- 目的のイベント(例:
Click)をダブルクリックして、コードにイベントハンドラーを生成します。
ヒント: この方法を使用すると、複数のコントロールにイベントハンドラーをすばやく追加できます。
イベント引数
イベント引数
イベントハンドラーには、多くの場合、イベントに関する追加情報を提供する EventArgs パラメーターが含まれます。例:
using System;
using System.Windows.Forms;
class Program : Form {
static void Main() {
Application.Run(new Program());
}
public Program() {
TextBox textBox = new TextBox() {
Left = 50,
Top = 50,
Width = 200
};
textBox.TextChanged += TextBox_TextChanged;
Controls.Add(textBox);
}
private void TextBox_TextChanged(object sender, EventArgs e) {
TextBox textBox = (TextBox)sender;
Console.WriteLine("Text changed to: " + textBox.Text);
}
}
練習課題
練習課題
次の要素を含む Windows Forms アプリケーションを作成してください:
- クリックするとメッセージを表示するボタン
- テキストの変更をコンソールに記録するテキストボックス
- マウスポインターが特定の領域に入ったときに更新されるラベル
例:
using System;
using System.Windows.Forms;
class Program : Form {
Label label;
static void Main() {
Application.Run(new Program());
}
public Program() {
Button button = new Button() {
Text = "Click Me",
Left = 50,
Top = 50
};
button.Click += (sender, e) => MessageBox.Show("Button clicked!");
Controls.Add(button);
TextBox textBox = new TextBox() {
Left = 50,
Top = 100,
Width = 200
};
textBox.TextChanged += (sender, e) => Console.WriteLine("Text changed to: " + textBox.Text);
Controls.Add(textBox);
label = new Label() {
Text = "Hover over me",
Left = 50,
Top = 150,
Width = 150
};
label.MouseEnter += Label_MouseEnter;
Controls.Add(label);
}
private void Label_MouseEnter(object sender, EventArgs e) {
label.Text = "Mouse is here!";
}
}
イベント処理のベストプラクティス
イベント処理のベストプラクティス
次のようなベストプラクティスがあります:
- イベントハンドラーメソッドには意味のある名前を付けてください。
- イベントハンドラーに過剰なロジックを直接記述せず、代わりに他のメソッドを呼び出してください。
- 不要になったイベントハンドラーは登録解除して、メモリリークを防いでください。
ヒント: あらゆる状況で期待どおりに動作することを確認するため、イベントハンドラーをテストしてください。
よくできました!
よくできました!
おめでとうございます!Windows Forms でイベントを処理し、アプリケーションをインタラクティブにする方法を学びました。次のレッスンでは、学んだことを応用してシンプルな電卓アプリケーションを作成します。引き続きコーディングしましょう!
続行をクリックして、次のレッスンに進んでください。

よくある質問
「フォームのイベントを処理する」レッスンは無料ですか?
はい。「フォームのイベントを処理する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全3レッスンが含まれています。
「フォームのイベントを処理する」で何を学びますか?
ボタンのクリックやフォームの送信など、ユーザー操作の処理方法を学びます ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C# Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。
「フォームのイベントを処理する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC# Academyレッスンでコードを書いて実行できますか?
はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Windows Forms入門
- ユーザーインターフェースを設計する
- フォームのイベントを処理する