佐々木屋

技術的なことから趣味まで色々書きます

複数のコントロールに同じイベントを割り当てる

フォームアプリケーションで、複数のコントロールに一つの同じイベントを割り当てる方法です。

共通処理イベントを作成します。第一引数を「sender(object型)」、第二引数を「e(EventArgs型)」とします。例えばボタンクリックの共通処理イベントを作成します。

private void button_Click(object sender, EventArgs e) {
}
Private Sub Button_Click(sender As Object, e As EventArgs)
End Sub



次にボタンにイベントを紐付ます。ボタンプロパティの雷みたいなマークを選択するとイベント一覧が表示されます。ここに必要なイベントを割り当てれば完了です。例のボタンクリックイベントを選択する場合は、「Click」イベントに「button_Click」を割り当てます。
f:id:sasaki816:20190207144829j:plain


C#の場合はコード上なにも変化ありませんが、VB.NETはイベントの最後にHandlesが表示されます。

Private Sub Button_Click(sender As Object, e As EventArgs) Handles Button1.Click
End Sub



なお、VB.NETの場合はこの方法以外にも、直接Handlesの後に入力しても紐付できます。複数指定する場合はカンマで区切りましょう。

Private Sub Button_Click(sender As Object, e As EventArgs) Handles Button1.Click,Button2.Click
End Sub