netlib.narod.ru | < Назад | Оглавление | Далее > |
Нажимая Ctrl одновременно с другими клавишами, можно генерировать управляющие символы, о которых сообщает событие KeyPress. При нажатии Ctrl в сочетании с буквами от А до Z независимо от состояния модификаторов получаются коды символов от 0x0001 до 0х001A. Вот еще несколько управляющих символов, которые можно генерировать с клавиатуры.
Управляющие символы, генерируемые клавиатурой
Комбинация клавиш | Управляющий символ |
Shift + Ctrl @ | 0x0000 |
Backspace | 0x0008 |
Tab | 0x0009 |
Ctrl + Enter | 0x000A |
Enter | 0x000D |
Esc или Ctrl [ | 0x001B |
Ctrl \ | 0x001C |
Ctrl ] | 0x001D |
Shift + Ctrl ~ | 0x001E |
Shift + Ctrl _ | 0x001F |
Ctrl + Backspace | 0x007F |
Программы часто используют комбинацию Shift + Tab для перехода на одну позицию табуляции назад (или к предыдущему элементу формы). Для этой комбинации нет специального кода — ее придется обрабатывать самостоятельно.
Иногда события KeyDown и KeyUp предоставляют коды перечисления Keys соответствующие кодам клавиш, которые сообщает KeyPress. Какое из событий выбрать для обработки клавиш Enter, Backspace и Esc?
Я ломал голову над этим вопросом последние 15 лет, но сейчас я предпочитаю обрабатывать эти клавиши как управляющие символы Unicode, а не нажатия соответствующих клавиш. Однако я могу назвать лишь одну серьезную причину применения этого подхода: есть пользователи, издавна привыкшие нажимать Ctrl + H вместо Backspace и Ctrl + I — вместо Tab. Обрабатывая Backspace и Tab при помощи события KeyPress, можно обеспечить корректную работу этих комбинаций.
netlib.narod.ru | < Назад | Оглавление | Далее > |