netlib.narod.ru | < Назад | Оглавление | Далее > |
Клавиатура всегда генерирует некоторые числовые коды, но ее можно рассматривать по-разному:
как совокупность отдельных физических клавиш;
как средство генерации кодов символов.
В первом случае любой генерируемый ею код должен идентифицировать клавишу и указывать, нажата она или отпущена. Во втором — код, генерируемый при нажатии некоторой клавиши, идентифицирует уникальный символ из набора символов. Традиционно этим набором символов был ASCII, но в среде Windows Forms поддерживается набор символов Unicode.
У многих клавиш современного компьютера нет кодов символов. Ни функциональные клавиши, ни клавиши управления курсором их не генерируют. Поэтому программам, использующим ввод информации с клавиатуры нетривиальным способом, обычно приходится иметь дело с клавиатурой и как с совокупностью клавиш, и как с генератором символом одновременно.
Клавиши можно разделить на четыре общие группы.
Клавиши-переключатели — Caps Lock, Num Lock, Scroll Lock и в некоторых случаях Insert. При нажатии такой клавиши включается ее состояние, а при повторном нажатии — выключается. Состояние клавиш Caps Lock, Num Lock и Scroll Lock является общесистемным, т.е. если на компьютере работает несколько программ одновременно, не может быть, чтобы клавиша Caps Lock была включена для одной программы и в то же время отключена для другой. Как правило, на клавиатуре есть световые индикаторы состояния клавиш-переключателей.
Клавиши управления регистром — Shift, Ctrl и Alt. Будучи нажатой, такая клавиша меняет интерпретацию нажатия других клавиш. В библиотеке классов Windows Forms они называются модификаторами.
Клавиши, не имеющие символов — функциональные клавиши, клавиши управления курсором, Pause, Delete и в некоторых случаях Insert.
Символьные клавиши — буквы, цифры и другие символы, пробел, Tab, Backspace, Esc и Enter (клавиши Tab, Backspace, Esc и Enter также можно рассматривать как клавиши без символов).
Часто одна и та же физическая клавиша может генерировать различные коды символов в зависимости от состояния клавиш-переключателей и модификаторов. Скажем, клавиша А генерирует код символа А в верхнем (А) или в нижнем (а) регистре в зависимости от состояния клавиш Caps Lock и Shift. Иногда две разные физические клавиши (например, две клавиши Enter, имеющиеся на большинстве клавиатур) могут генерировать одинаковые коды символов.
Программы Windows Forms получают информацию, вводимую с клавиатуры, в виде событий. Сначала я опишу, как обращаться с клавиатурой как с совокупностью клавиш, а затем — как с генератором кодов символов.
netlib.narod.ru | < Назад | Оглавление | Далее > |