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


KeyDown, события KeyUp

Возникают последовательно, когда пользователь нажимает и отпускает клавишу. KeyDown возникает, когда пользователь нажимает клавишу. KeyUp возникает, когда пользователь отпускает клавишу.

Синтаксис

Частный вложенныйобъект _KeyDown( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)
Частный вложенныйобъект _KeyUp( ByValKeyCodeAs MSForms.ReturnInteger, ByValShiftAs fmShiftState)

Синтаксис событий KeyDown и KeyUp состоит из следующих частей:

Part Описание
object Обязательно. Допустимое имя объекта.
KeyCode Обязательно. Целое число, представляющее код клавиши, нажатой или отпущенной.
Shift Обязательно. Состояние клавиш SHIFT, CTRL и ALT.

Settings

Значениями Shift являются:

Константа Значение Описание
fmShiftMask 1 Клавиша SHIFT была нажата.
fmCtrlMask 2 Клавиша CTRL была нажата.
fmAltMask 4 Клавиша ALT была нажата.

Замечания

Событие KeyDown возникает, когда пользователь нажимает клавишу в работающей форме, когда эта форма или элемент управления на ней находятся в фокусе. События KeyDown и KeyPress циклически чередуются, пока пользователь не отпустит клавишу, что вызывает событие KeyUp. Форма или элемент управления, находящиеся в фокусе, получают все нажатия клавиш. Форма может быть в фокусе, только если на ней нет элементов управления или все ее видимые элементы управления недоступны.

Эти события также возникают при отправке нажатия клавиши в форму или элемент управления с помощью действия SendKeys в макросе или инструкции SendKeys в Visual Basic.

События KeyDown и KeyUp обычно используются для распознавания или для различия следующих клавиш:

  • Расширенные клавиши знаков, такие как функциональные клавиши.

  • Навигационные клавиши, такие как HOME, END, PAGEUP, PAGEDOWN, СТРЕЛКА ВВЕРХ, СТРЕЛКА ВНИЗ, СТРЕЛКА ВПРАВО, СТРЕЛКА ВПРАВО И TAB.

  • Сочетание клавиш и стандартных клавиатурных модификаторов (SHIFT, CTRL или ALT).

  • Клавиши цифр числовой панели и клавиатуры.

События KeyDown и KeyUp не происходят при следующих обстоятельствах:

  • Пользователь нажимает клавишу ВВОД в форме с помощью командной кнопки, для свойства по умолчанию которой задано значение True.

  • Пользователь нажимает клавишу ESC на форме с помощью командной кнопки, для свойства Cancel которой задано значение True.

События KeyDown и KeyPress возникают при нажатии или передаче клавиши ANSI. Событие KeyUp возникает после любого события для элемента управления, вызванного нажатием или передачей клавиши. Если нажатие клавиши вызывает переход фокуса с одного элемента управления на другой элемент управления, событие KeyDown возникает для первого элемента управления, а для второго элемента управления возникают события KeyPress и KeyUp.

Последовательность событий клавиатуры:

  1. KeyDown
  2. KeyPress
  3. KeyUp

Примечание.

События KeyDown и KeyUp применяются только для форм и элементов управления на форме. Для интерпретации знаков ANSI или для поиска знака ANSI, соответствующего нажатой клавиши, используйте событие KeyPress.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.