方法 : イベントを生成した Web サーバー コントロールを特定する

更新 : 2007 年 11 月

イベント ハンドラが呼び出されたときに、どちらのコントロールがイベントを発生させたかを調べることができます。

どのコントロールがイベントを発生させたかを調べるには

  1. イベント ハンドラで、イベントを発生させたコントロールと同じ型の変数を宣言します。

  2. イベント ハンドラの引数 sender を変数に割り当てて適切な型にキャストします。

    複数の異なるボタンから呼び出される Button コントロールのクリック イベントのハンドラを次の例に示します。ハンドラは、クリックされたボタンに関する情報を表示します。

    Private Sub Button1_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) _
    Handles Button1.Click, Button2.Click, Button3.Click
    
        Dim b As Button
        b = CType(sender, Button)
    
        Select Case b.ID
            Case "Button1"
                Label1.Text = "You clicked the first button"
            Case "Button2"
                Label1.Text = "You clicked the second button"
            Case "Button3"
                Label1.Text = "You clicked the third button"
        End Select
    End Sub
    
    private void Button_Click(object sender, System.EventArgs e)
    {
        Button b;
        b = (Button)sender;
        switch (b.ID)
        {
            case "Button1":
                Label1.Text = "You clicked the first button";
                break;
            case "Button2":
                Label1.Text = "You clicked the second button";
                break;
            case "Button3":
                Label1.Text = "You clicked the third button";
                break;
        }
    }
    

参照

概念

ASP.NET Web サーバー コントロールのイベント モデル

その他の技術情報

ASP.NET Web ページのサーバー イベント処理

イベントの処理と発生