Вот лучший способ сделать это. Сначала подключите свои кнопки как обычно:
AddHandler Button1.Click, AddressOf Click
AddHandler Button2.Click, AddressOf Click
Затем создайте Click
метод, подобный этому:
Sub click(ByVal o As Object, ByVal e As EventArgs)
Dim button As Button = TryCast(o, Button)
If button IsNot Nothing Then
End If
End Sub
Внутри этого оператора if у вас теперь есть Button
- вы можете взять его ID
или что-нибудь еще об этом, что захотите.
Изменить в ответ на комментарий:
Я думаю, вы, возможно, неправильно понимаете, как события связаны в .NET. Когда вы делаете это:
AddHandler Button2.Click, AddressOf Click
Вы не вызываете метод Click
, вы передаете делегат сгенерированному компилятором методу для события Button.Click
, которое добавляет ваш делегат в список вызовов делегата. Когда Button
вызывает событие Click
, ваш делегат вызывается Button
.
Поскольку вы не будете единственным, кто будет вызывать метод через делегата, вы не сможете изменить передаваемое. Лучше всего использовать переданный вам Object
и привести его к Button
, как я. сделал выше.