Почему TextBox Leave Fire, когда мышь уходит? - PullRequest
0 голосов
/ 02 декабря 2011

Я думал, что Leave должен срабатывать, когда элемент управления теряет фокус, а MouseLeave должен срабатывать, когда мышь больше не находится в элементе управления.

У меня есть TextBox, и если я нажимаю на него, затем выведите мышь, событие Leave сработает.Я использую Leave для проверки ввода в поле, например, когда люди нажимают клавишу Tab, чтобы перейти к следующему элементу управления.

Означает ли это, что TextBox не может иметь фокус, если в нем не остается мышь?

Ответы [ 3 ]

2 голосов
/ 02 декабря 2011

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

2 голосов
/ 02 декабря 2011

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

Таким образом, если вы хотитенапример, чтобы иметь кнопку Cancel, вы можете просто установить для ее свойства CausesValidation значение false, и элементы управления редактора Validating не будут запускать события.

0 голосов
/ 02 декабря 2011

Неважно, если в нем мышь. Свойство Focus относится к другому типу события, когда компонент готов изменить свое значение. Неважно, используете ли вы клавиатуру или мышь. Почему вы не проверяете значение TextBox, когда Textbox теряет фокус?

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