Свойство Focused элемента управления изменилось с помощью обработчика Leave при использовании мыши, но не клавиатуры - PullRequest
0 голосов
/ 23 ноября 2011

Я работаю с TextBox, и мне нужно запустить некоторую логику, когда текстовое поле потеряло фокус.

Моя проблема двоякая:

  1. Событие Leave по какой-то причине срабатывает при каждом нажатии клавиш, то есть логика запускается при каждом нажатии клавиш, когда этого не следует.
  2. При использовании свойства Focused текстового поля в качестве двойной проверки, просто выход из которого, если свойство все еще установлено, теперь работает, когда пользователь использует мышь, чтобы выйти, но не когда пользователь уходит.

Свойство Focused рассматриваемого TextBox имеет значение False с того момента, когда его событие Leave срабатывает, когда мышь используется для изменения фокуса, но оно все равно True, когда событие Leave сработает из-за нажатия клавиши Tab. Серьезно?

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

1 Ответ

0 голосов
/ 23 ноября 2011

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

Я просто говорю, что что-то еще мешает текстовому полю.Я хотел бы изучить это немного подробнее или опубликовать некоторый код, демонстрирующий проблему.

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