方法 : Windows フォームの 1 つのイベント ハンドラに複数のイベントを関連付ける
更新 : 2007 年 11 月
アプリケーションのデザインによっては、1 つのイベント ハンドラを複数のイベントに対応付ける必要があります。つまり、複数のイベントから 1 つのプロシージャを起動するようにする必要があります。たとえば、メニュー コマンドとフォームのボタンの機能が同じ場合は、メニュー コマンドからフォームのボタンと同じイベントが発生するようにすると、大幅に作業時間を短縮できます。これを行うには、C# では、[プロパティ] ウィンドウのイベント ビューを使用します。Visual Basic コード エディタでは、Handles キーワードと、[クラス名] ボックスおよび [メソッド名] ボックスを使用します。
Visual Basic で 1 つのイベント ハンドラに複数のイベントを関連付けるには
フォームを右クリックし、[コードの表示] をクリックします。
[クラス名] ボックスで、イベント ハンドラが処理するコントロールを 1 つ選択します。
[メソッド名] ボックスで、イベント ハンドラが処理するイベントを 1 つ選択します。
コード エディタによって適切なイベント ハンドラが挿入され、対応するメソッド内にカーソルが移動します。以下に Button コントロールの Click イベントの例を示します。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Add event-handler code here. End Sub
処理対象の他のイベントを Handles 句に追加します。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click ' Add event-handler code here. End Sub
適切なコードをイベント ハンドラに追加します。
C# で 1 つのイベント ハンドラに複数のイベントを関連付けるには
イベント ハンドラを接続するコントロールを選択します。
[プロパティ] ウィンドウで、[イベント] ボタン () をクリックします。
処理するイベントの名前をクリックします。
イベント名の横にある値セクションでドロップダウン ボタンをクリックすると、処理するイベントのメソッド シグネチャと一致する既存のイベント ハンドラの一覧が表示されます。
一覧から、該当するイベント ハンドラを選択します。
選択したイベントを既存のイベント ハンドラに関連付けするコードが、フォームに追加されます。