Прочитать на английском

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


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

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

Синтаксис

expression. KeyUp (KeyCode, SHIFT)

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

Параметры

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

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

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

Замечания

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

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

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

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

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

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

  • Клавиши навигации, такие как Главная, Конец, PgUp, PgDn, СТРЕЛКА ВВЕРХ, СТРЕЛКА ВНИЗ, СТРЕЛКА ВПРАВО, СТРЕЛКА ВЛЕВО и TAB.

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

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

Событие KeyUp не возникает при нажатии:

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

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

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

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

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

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

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