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