Я знаю, что это может быть легким ответом для некоторых из вас, но я не знаю, как правильно это сделать. Ive создал текстовый редактор, который также имеет окно стыковки, которое будет отображать функции. Я установил в меню, что F8 - это комбинация клавиш для отображения функционального окна. Я хотел бы также, чтобы поймать событие F8 нажатие для синтаксического анализа текущих данных для функций в программе, но я не могу получить, чтобы это произошло ..Overpiding keypress
ответ
Снимайте Текстовые редакторы Keypressed события и проверить KeyEventArgs
, которые поступают, затем отметьте не обрабатываются как ложные, что вызовет событие будет принято до родительского контроля:
Примера
KeyPressed(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F8) DoSomething();
e.Handled = false;
}
В ответ на комментарий, добавленный в ваш вопрос. Вам может потребоваться установить для элементов управления KeyPreview значение True. Я думаю, что KeyPreview может быть доступен только на уровне формы, но я не уверен.
Я думаю, что у вас есть это в обратном направлении. Установка свойства «e.Handled» в значение true приведет к тому, что событие, распространяющее дерево управления, при установке «e.Handled» в false, позволит другим элементам управления захватить его. –
@Mike Webb ahhh опечатка в моем объяснении, спасибо – msarchet
Ой, подождите. Прости, я думал, ты говоришь наоборот. Смешение. Могу немного повторить ваш ответ. –
Настройка обработчика событий для события OnKeyPress
(или OnKeyDown
или OnKeyUp
), и проверьте, какая клавиша была нажата (это будет в аргументах события). Тогда вы можете делать все, что хотите.
Я не уверен, что все понимаю, но не можете ли вы использовать KeyPress Event в любом элементе управления?
Я не думаю, что отмеченный ответ правильный. Обработчик события KeyPress не будет обрабатывать функциональные клавиши; вам нужно использовать обработчик событий KeyUp или метод ProcessDialogKey.
- 1. Функции функции overpiding 'package' в D
- 2. селена Keypress
- 3. OpenTK keypress?
- 4. Управление keypress
- 5. Jquery keypress cascading
- 6. Событие KeyPress C#
- 7. Как зарегистрировать keypress?
- 8. IE7 Handle Combination Keypress
- 9. Событие на Keypress
- 10. Симуляция Keypress в C#
- 11. urwid watch_file блоки Keypress
- 12. Javascript event keypress
- 13. Accent with robot keypress
- 14. Переслать событие KeyPress
- 15. Python - Detect keypress
- 16. jQuery keypress не работает
- 17. Javascript: keypress/keycode
- 18. Как обнаружить keypress
- 19. Flash GotoFrame on Keypress
- 20. Неисправность KeyPress в апплете
- 21. Reactjs keypress regex?
- 22. Break loop on keypress
- 23. KeyPress горизонтальная навигация
- 24. Ruby: gets.chomp 1 keypress
- 25. KeyPress не обнаружен
- 26. AutoHotKey SystemBeep on keypress
- 27. Нужно моделировать keypress jquery
- 28. javascript keypress function
- 29. jQuery .keypress & .keydown. Which
- 30. Остановить NSRunLoop On Keypress
Что странно, я могу нажать любую из клавиш f, и ничего не происходит, но если я нажму на обычный ключ, он остановится. – mookie
см. Изменения по моему ответу – msarchet