0Pricing
C# Academy · レッスン

フォームのイベントを処理する

ボタンのクリックやフォームの送信など、ユーザー操作の処理方法を学びます

「フォームのイベントを処理する」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全3レッスンが含まれています。

イベントとは

イベントとは

イベントとは、ボタンのクリック、マウスの移動、テキストの入力など、プログラムが応答できるアクションや発生事象です。イベント処理を使用すると、これらのアクションに対してアプリケーションがどのように反応するかを定義できます。

重要なポイント: Windows Forms は、ユーザーの操作に応答するイベント駆動型プログラミングを使用します。

フォームのイベントを処理する — イラスト1

イベントの理解

イベントとは

イベントとは、ボタンのクリック、マウスの移動、テキストの入力など、プログラムが応答できるアクションや発生事象です。イベント処理を使用すると、これらのアクションに対してアプリケーションがどのように反応するかを定義できます。

重要なポイント: 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 を使用してイベントハンドラーを追加できます:

  1. Designer でコントロールを選択します。
  2. プロパティウィンドウを開き、イベントタブ(稲妻アイコン)に移動します。
  3. 目的のイベント(例: 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 でイベントを処理し、アプリケーションをインタラクティブにする方法を学びました。次のレッスンでは、学んだことを応用してシンプルな電卓アプリケーションを作成します。引き続きコーディングしましょう!

続行をクリックして、次のレッスンに進んでください。

フォームのイベントを処理する — イラスト10

よくある質問

「フォームのイベントを処理する」レッスンは無料ですか?

はい。「フォームのイベントを処理する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Windows Forms入門
  2. ユーザーインターフェースを設計する
  3. フォームのイベントを処理する
← C# Academyに戻る