Есть ли способ определить последний элемент управления, который был активен в .net Windows формы кода позади? - PullRequest
0 голосов
/ 22 сентября 2011

У меня есть форма, в которой есть группа радиоуправлений, а некоторые с текстовым полем. Если курсор находится в текстовом поле, и я пытаюсь переключить курсор на другую радиокнопку, я смогу определить последний активный элемент управления (в данном случае ... текстовое поле) и выполнить некоторую проверку.

Событие LostFocus () текстового поля всплывающее сообщение, указывающее, что «этот элемент должен быть заполнен ..». Но если я хочу использовать другой параметр радиопереключения в той же группе, я не хочу, чтобы это сообщение появлялось без необходимости.

Как мне этого избежать?

1 Ответ

0 голосов
/ 22 сентября 2011

TextBox имеет события Validating и Validated - вы должны использовать их вместо события LostFocus. В случае валидации вы можете запретить пользователю покидать TextBox, если критерии не верны. Если вам нужно использовать что-то вроде LostFocus, используйте вместо этого событие Leave.

Нет функции типа «Последний активный контроль». Вы должны будете отследить это самостоятельно, установив переменную в событии Enter этих элементов управления.

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

...