Свойство Form.KeyPreview (Access)
Используйте свойство KeyPreview , чтобы указать, вызываются ли процедуры событий клавиатуры на уровне формы перед процедурами событий клавиатуры элемента управления. Для чтения и записи, Boolean.
Синтаксис
expression. KeyPreview
выражение: переменная, представляющая объект Form.
Замечания
Свойство KeyPreview использует следующие параметры.
Setting | Visual Basic | Описание |
---|---|---|
Да | True | Форма сначала получает события клавиатуры, а затем активный элемент управления получает события клавиатуры. |
Нет | False | (по умолчанию) Только активный элемент управления получает события клавиатуры. |
Свойство KeyPreview можно задать в любом представлении.
Используйте свойство KeyPreview , чтобы создать процедуру обработки клавиатуры для формы. Например, если приложение использует функциональные ключи, установка для свойства KeyPreview значения True позволяет обрабатывать нажатия клавиш на уровне формы, а не писать код для каждого элемента управления, который может получать события нажатия клавиш.
Чтобы обрабатывать события клавиатуры только на уровне формы и запретить элементам управления получать события клавиатуры, задайте для аргумента KeyAscii значение 0 в процедуре события KeyPress формы, а для аргумента KeyCode задайте значение 0 в процедурах событий KeyDown и KeyUp формы.
Если форма не имеет видимых или включенных элементов управления, она автоматически получает все события клавиатуры.
Пример
В следующем примере свойство KeyPreview имеет значение True в процедуре события Load формы. Это приводит к тому, что форма получает события клавиатуры, прежде чем они будут получены любым элементом управления. Затем событие keyDown формы проверяет значение аргумента KeyCode , чтобы определить, были ли отправлены ключи F2, F3 или F4.
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyF2
' Process F2 key events.
Case vbKeyF3
' Process F3 key events.
Case vbKeyF4
' Process F4 key events.
Case Else
End Select
End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.