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


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

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

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

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

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

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

  • Событие KeyUp происходит один раз, когда пользователь освобождает ключ.

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

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

Событие клавиатуры Описание Результаты
KeyDown Это событие возникает, когда пользователь нажимает физический ключ. Обработчик для KeyDown получает:

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

    • Свойство Handled, которое можно настроить так, чтобы базовый элемент управления не принимал ввод с клавиатуры.
    • Свойство SuppressKeyPress, которое можно использовать для подавления событий KeyPress и KeyUp, связанных с этим нажатием клавиши.
KeyPress Это событие вызывается, когда нажатие одной или нескольких клавиш приводит к появлению символа. Например, пользователь нажимает клавиши SHIFT и строчную букву "a", что приводит к заглавной букве "A". KeyPress возникает после KeyDown.

  • Обработчик для KeyPress получает:
  • Параметр KeyPressEventArgs, содержащий код символа нажатия клавиши. Этот код символа является уникальным для каждого сочетания клавиши символов и модификатора.

    Например, ключ A будет генерировать:

    • Код символа 65, если он нажимается клавишей SHIFT
    • Или клавиша CAPS LOCK, 97, если она нажата сама по себе,
    • И 1, если он нажимается с помощью клавиши CTRL.
KeyUp Это событие возникает, когда пользователь освобождает физический ключ. Обработчик для KeyUp получает:

  • Параметр KeyEventArgs:

    • Что предоставляет свойство KeyCode (указывающее физическую кнопку клавиатуры).
    • Свойство Modifiers (SHIFT, CTRL или ALT).
    • Свойство KeyData (которое объединяет ключевой код и модификатор).

См. также