フォーム上の任意のコントロール上でのイベントをまとめてハンドリングする方法
.NETにおいて、フォーム上に配置されたコントロールで発生したイベントを、各コントロールごとではなくて、まとめてハンドルする方法はないでしょうか。
例えば次のようなフォームがあります。
(Button1, Button2, Button3は、フォームに配置されたボタンとします)
Public Class MyForm
Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click
End Sub
End Class
ボタンが3つ程度の場合はこれで良いと思うのですが、例えば(極端に言えば)ボタンが100個ある場合、
Handles Button1.Click, Button2.Click, (途中省略.....) Button100.Click
と書くしかないのでしょうか。
後で対象コントロールが増えたり減ったりした場合に間違いが起こりそうなので、このような書き方は避けたいです。
フォーム上のどのコントロールでも構わないからとにかくクリックイベントが発生したことを知るための方法はないでしょうか。
例えば次のようなかんじでハンドリングできないでしょうか。
Private Sub All_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles フォーム上の任意のコントロールでのClickイベント
End Sub
(環境はVB.NET2005です)
お礼
ご回答ありがとうございます。すごいです。ダメもとで聞いてみたんですが、まるでVB6みたい。作ってる人神過ぎ。まさかフリーですか。有償でもいいと思ってますけど。