У меня есть форма, которая закрывается при нажатии клавиши ESC благодаря KeyPreview
, ProcessKeyEventArgs
, ProcessCmdKey
или чему-то еще. Но у меня есть элемент управления в этой форме, который делает очень важные вещи при нажатии ESC (он прячется), и форма не должна закрываться, когда это происходит.
Элемент управления использует событие KeyDown
и устанавливает флаг SuppressKeyPress
в значение true, но это происходит после вышеупомянутого предварительного просмотра ключа формы, поэтому не имеет никакого эффекта.
Есть ли какой-то KeyPostview?
Как не закрыть форму, когда элемент управления имеет соответствующее использование нажатия клавиши?
Редактировать. Элемент управления ESC, обрабатывающий ESC, представляет собой текстовое поле, встроенное в ListView ручной работы. Текстовое поле появляется, когда пользователь щелкает ячейку, включая редактирование. Чтобы проверить новый текст, было бы неплохо нажать ENTER (это уже работает, так как фокусируется на чем-то еще). Чтобы отменить выпуск, ESC кажется наиболее естественным.