Свойство 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 и обратная связь.