Как обнаружить нажатие клавиши Enter в текстовом поле, которое используется в пользовательском представлении? - PullRequest
1 голос
/ 05 августа 2010

Я сделал пользовательское представление, в котором я использовал поле поиска, которое представляет собой текстовое поле для поиска в определенном каталоге. Когда мы нажимаем клавишу Enter в окне поиска, я выполняю поиск в каталоге и, если найдено, обновляю свой пользовательский браузер для отображения содержание нового каталога. но проблема в том, что когда я нахожусь в модальном диалоговом окне, я не могу обнаружить событие нажатия клавиши Enter в окне поиска, хотя я могу обнаружить событие нажатия клавиши других. Когда я нажимаю клавишу Enter, он просто меняет фокус на элемент управления Edit Windows и не выполняет никаких событий, таких как KeyPress / KeyDown и т. Д.

Любые предложения

1 Ответ

1 голос
/ 03 сентября 2010

По умолчанию клавиша Enter игнорируется TextBox, когда он представляет собой однострочный элемент управления, поскольку нет необходимости иметь какой-либо ответ на событие клавиши Enter.Чтобы преодолеть это, вам нужно создать новый класс, производный от TextBox, и переопределить метод IsInputKey.Внутри здесь проверьте, является ли это клавишей Enter, и верните True.Это означает, что ключ будет отправлен элементу управления, потому что элемент управления хочет его обработать.Затем вы можете KeyDown для TextBox, как и ожидалось.

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