次の方法で共有


方法 : Intellisense を使用してイベントをフックする (C#)

更新 : 2007 年 11 月

コード エディタでは、IntelliSense を使ってメソッド (イベント ハンドラ) をイベント フィールドにフックできます。

.cs ファイルのイベント フィールドの後に += 演算子を入力すると、IntelliSense によって、Tab キーを押すように促すメッセージが表示されます。ここで Tab キーを押すことによって、イベントを処理するメソッドを指すデリゲートの新しいインスタンスを挿入できます。

オート フック ボタン

Tab キーを押すと、IntelliSense によってステートメントが自動的に完成され、コード エディタでイベント ハンドラの参照が選択されます。その後、イベントの自動フックを完了するために、もう一度 Tab キーを押してイベント ハンドラの空のスタブを作成するように求めるメッセージが表示されます。

イベント ハンドラの作成

341697aa.alert_note(ja-jp,VS.90).gifメモ :

IntelliSense によって作成された新しいデリゲートが既存のイベント ハンドラを参照する場合は、そのことがツールヒントに表示されます。この場合は、既にコード エディタで選択されているテキストを編集することによって、この参照を変更できます。それ以外の場合は、この時点でイベントの自動フックが完了します。

Tab キーを押すと、正しいシグネチャを持つメソッドのスタブが作成され、カーソルがイベント ハンドラの本体に置かれます。

341697aa.alert_note(ja-jp,VS.90).gifメモ :

イベント フックアップ ステートメントに戻るには、[表示] メニューの [戻る] コマンド (Ctrl + マイナス記号 (-) キー) を使用します。

次のタスクでは、IntelliSense を使って、button1_Click というイベントハンドラを button1.Click というイベント フィールドに自動的にフックします。

C# イベントにフックするには

  1. C# Windows アプリケーションを作成します。

  2. [ツールボックス] の [Windows フォーム] タブから Button コントロールをフォームにドラッグし、[コードの表示] コマンドを使用して Form1.cs をコード エディタで開きます。

  3. Form コンストラクタにイベント フィールド button1.Click を入力し、続けて += 演算子を入力します。たとえば、次のようにします。

    this.button1.Click +=
    

    IntelliSense によって、Tab キーを押してイベントを自動的にフックするように促すメッセージが表示されます。

  4. Tab キーを押します。

    button1_Click というイベント ハンドラへの参照を持つ EventHandler デリゲートの新しいインスタンスが作成されます。

    this.button1.Click +=new EventHandler(button1_Click);
    

    button1_Click は存在しないため、IntelliSense は、もう一度 Tab キーを押してこのメソッドを作成するように求めてきます。

  5. Tab キーを押します。

    IntelliSense によってメソッド button1_Click() が作成され、このイベント ハンドラのコードをすぐに追加できるように、メソッド本体にカーソルが置かれます。

    private void button1_Click(object sender, EventArgs e)
    {
    
    }
    

参照

その他の技術情報

Visual C# の IntelliSense

自動コード生成