Общие обработчики событий в VB.NET - PullRequest
0 голосов
/ 04 февраля 2009

В моей форме около 10 кнопок, и я хочу, чтобы они вызывали один и тот же обработчик событий Click.

Но для этого мне нужно обобщить обработчик событий, и в VB.NET нет ключевого слова this для ссылки на элемент управления, вызвавший событие.

Как реализовать функциональность ключевого слова this в VB.NET?

Я хочу написать обработчик событий, который выполняет следующие действия:

Private Sub cmdButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdButton1.Click

    currentTag = this.Tag

End Sub

Ответы [ 4 ]

7 голосов
/ 04 февраля 2009

Как реализовать функциональность ключевого слова this в VB.NET?

this называется Me в VB. Однако это не имеет никакого отношения к вашему коду и относится к содержащему классу, в вашем случае, скорее всего, к текущему Form. Вам необходимо получить доступ к параметру объекта sender, после приведения его к Control:

currentTag = DirectCast(sender, Control).Tag
1 голос
/ 04 февраля 2009

In VB.NET , Me является эквивалентом C # this.

0 голосов
/ 16 апреля 2009

В VB.NET this упоминается как me, и решение вашего второго вопроса, касающегося обработчиков для VB.NET: Вы можете добавить Handles в конце оператора Private Sub, например

Private Sub cmdButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles cmdButton1.Click, 'cmdButton2.click, cmdButton3.click'

    currentTag = this.Tag

End Sub
0 голосов
/ 04 февраля 2009

Я думаю, вы хотите ключевое слово Me.

...