• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フォーム上の任意のコントロール上でのイベントをまとめてハンドリングする方法)

フォーム上の任意のコントロール上でのイベントをまとめてハンドリングする方法

このQ&Aのポイント
  • フォーム上に配置されたコントロールで発生したイベントを、個別にハンドルせずにまとめて処理する方法があるかを知りたいです。
  • ボタンが100個ある場合に、個別にハンドルする書き方ではなく、どのコントロールでもクリックイベントが発生したことを知る方法について教えてください。
  • VB.NET2005の環境で、フォーム上の任意のコントロールで発生したクリックイベントをまとめて処理する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • KG_
  • ベストアンサー率62% (34/54)
回答No.1

AddHandlerを使えば関数とイベントをコード上でハンドルすることができますので 以下のような方法でできるかと思います。(孫コントロールまでしちゃいますが) ------------------------------- Private Sub SetEvents(ByVal ctrls As System.Windows.Forms.Control.ControlCollection)    For Each ctrl As Control In ctrls      If ctrl.HasChildren Then        SetEvents(ctrl.Controls)      ElseIf ctrl.GetType Is GetType(Button) Then        AddHandler ctrl.Click, AddressOf Button_Click      End If    Next End Sub Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)   '処理 End Sub

donkypong
質問者

お礼

なるほど、AddHandlerで好きなように登録できるのですね。 ありがとうございました!

関連するQ&A