Событие CommandButton.KeyUp (Access)

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

Синтаксис

выражение. KeyUp (KeyCode, Shift)

выражение Переменная, представляющая объект CommandButton .

Параметры

Имя Обязательный или необязательный Тип данных Описание
KeyCode Обязательный Integer Код ключа, например vbKeyF1 (клавиша F1) или vbKeyHome (клавиша Home). Чтобы указать коды клавиш, используйте встроенные константы, показанные в обозревателе объектов. Можно предотвратить нажатие клавиш объектом, задав значение 0 для параметра KeyCode .
Shift Обязательный Integer Состояние клавиш SHIFT, CTRL и ALT во время события. Для проверки аргумента Shift в качестве битовых масок можно использовать одну из следующих встроенных констант:
  • acShiftMask Битовая маска клавиши SHIFT.

  • acCtrlMask Битовая маска клавиши CTRL.

  • acAltMask Битовая маска клавиши ALT.

Примечания

Чтобы запускать макрос или процедуру события при таких событиях, задайте для свойства OnKeyUp имя макроса или [Процедура обработки событий].

В обоих случаях объект, находящийся в фокусе, получает все нажатия клавиш. Форма может быть в фокусе, только если на ней нет элементов управления или все ее видимые элементы управления недоступны.

Форма также будет получать все события клавиатуры, даже те, которые происходят с элементами управления, если вы зададите для свойства KeyPreview формы значение Да. При использовании этого свойства все события клавиатуры сначала для формы, а затем для элемента управления, находящегося в фокусе. Вы можете реагировать на определенные клавиши, нажатые в форме, независимо от того, на каком элементе управления установлен фокус. Например, можно захотеть, чтобы сочетание клавиш CTRL+X всегда выполняло одно и то же действие с формой.

Если нажать и удерживать клавишу, события KeyDown и KeyPress повторяются несколько раз (KeyDown, KeyPress, KeyDown, KeyPress и т. д.), пока вы не отпустите клавишу, после чего произойдет событие KeyUp .

Хотя событие KeyUp происходит при нажатии большинства клавиш, оно обычно используется для распознавания или различения:

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

  • клавиши навигации, такие как HOME, END, PGUP, PGDN, СТРЕЛКА ВВЕРХ, СТРЕЛКА ВНИЗ, СТРЕЛКА ВПРАВО, СТРЕЛКА ВЛЕВО и TAB;

  • сочетания клавиш и стандартные клавиши-модификаторы (клавиши SHIFT, CTRL или ALT);

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

Событие KeyUp не происходит при нажатии:

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

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

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

Чтобы узнать символ ANSI, соответствующий нажатой клавише, используйте событие KeyPress .

Если модальное диалоговое окно отображается в результате нажатия или отправки клавиши, происходят события KeyDown и KeyPress , но не происходит событие KeyUp .

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

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