Включить отправителя для общего обработчика событий LostFocus - PullRequest
2 голосов
/ 25 ноября 2011

У меня есть форма с семью текстовыми полями, все из которых описывают различные атрибуты подержанной машины. В общем случае LostFocus моих текстовых полей мне нужен оператор case, который определяет конкретный TextBox, который потерял фокус. Затем мне нужно выполнить разные задачи, но я не думаю, что они имеют значение для моего вопроса.

Как узнать, какое текстовое поле потеряло фокус в моем общем LostFocus обработчике событий?

Select Case ________???

Ответы [ 2 ]

2 голосов
/ 25 ноября 2011

Это было бы Select Case DirectCast(sender, TextBox).

1 голос
/ 25 ноября 2011

Вы можете сделать одну из двух вещей.

Первый - выбрать по имени

Dim tb as TextBox = CType(sender,TextBox)

Select Case tb.Name
    Case "TextBox1"

Второе - то, что я предпочитаю делать, это использовать свойство Tag в TextBox и помещать в него уникальный номер. Так что в этом случае ваш оператор Select будет выглядеть так:

Dim tb as TextBox = CType(sender,Textbox)

Select Case CInt(tb.tag)
    Case 1

    Case 2
    .... 

Другая вещь, которую вы упомянули, это как убедиться, что TextBox потерял фокус. Существует также событие LostFocus , которое вы можете обработать в дополнение к событию Leave, которое вы сейчас обрабатываете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...