Поделиться через


Использование событий клавиатуры

Обновлен: Ноябрь 2007

Большинство программ Windows Forms обрабатывают ввод данных с клавиатуры с помощью обработки событий клавиатуры. Этот раздел содержит обзор событий клавиатуры, включающий сведения о том, когда использовать каждое событие и какие данные предоставляются для каждого события. Дополнительные сведения см. в разделах Обзор обработчиков событий (Windows Forms) и Общие сведения о событиях (Windows Forms) и Обзор обработчиков событий (Windows Forms) и Общие сведения о событиях (Windows Forms).

События клавиатуры

Windows Forms содержит два события, возникающие при нажатии клавиши на клавиатуре, и одно событие, возникающее, когда пользователь отпускает клавишу:

  • Событие KeyDown, которое происходит один раз

  • Событие KeyPress, которое может возникать несколько раз, когда пользователь удерживает нажатую клавишу

  • Событие KeyUp, которое возникает один раз после того, как пользователь отпускает клавишу

Когда пользователь нажимает клавишу, Windows Forms определяет, какое событие вызвать на основании того, на какую клавишу указывает сообщение клавиатуры — клавишу со знаком или физическую клавишу. Дополнительные сведения о клавишах со знаками и физических клавишах см. в разделе Принцип работы ввод с клавиатуры.

В следующей таблице описываются три события клавиатуры.

Событие клавиатуры

Описание

Результат

KeyDown

Это событие возникает при нажатии физической клавиши пользователем.

Обработчик события KeyDown получает следующие параметры.

  • Параметр KeyEventArgs, который предоставляет свойство KeyCode (которое указывает на физическую клавишу клавиатуры).

  • Свойство Modifiers (клавиши SHIFT, CTRL или ALT).

  • Свойство KeyData (которое объединяет код клавиши и клавишу CTRL, SHIFT или ALT). Параметр KeyEventArgs также предоставляет следующие свойства.

    • Свойство Handled, которое может быть установлено для предотвращения получения клавиши базовым элементом управления.

    • Свойство SuppressKeyPress, которое может быть использовано для подавления событий KeyPress и KeyUp для этого нажатия клавиши.

KeyPress

Это событие возникает при нажатии клавиши или клавиш, которое привело к вводу знака. Например, пользователь нажимает клавишу SHIFT и клавишу буквы "a" нижнего регистра, что приводит к вводу знака прописной буквы "A".

Событие KeyPress возникает после события KeyDown.

  • Обработчик события KeyPress получает следующие параметры.

  • Параметр KeyPressEventArgs, который содержит код знака нажатой клавиши. Этот код уникален для каждой комбинации клавиш символов и клавиш CTRL, SHIFT или ALT.

    Например, клавиша "A" создаст следующие коды:

    • Код знака 65, если она нажата с клавишей SHIFT

    • Код клавиши CAPS LOCK — 97, если она нажата сама по себе

    • Код 1, если она нажата с клавишей CTRL

KeyUp

Это событие возникает при отпускании физической клавиши пользователем.

Обработчик события KeyUp получает следующие параметры.

  • Параметр KeyEventArgs,

    • который предоставляет свойство KeyCode (указывающее физическую клавишу клавиатуры);

    • свойство Modifiers (клавиши SHIFT, CTRL или ALT);

    • свойство KeyData (которое объединяет код клавиши и клавишу CTRL, SHIFT или ALT).

См. также

Основные понятия

Принцип работы ввод с клавиатуры

Другие ресурсы

Ввод с клавиатуры в приложении Windows Forms

Ввод данных мышью в приложении Windows Forms