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


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

Событие GotFocus возникает, когда указанный объект получает фокус.

Синтаксис

expression. Gotfocus

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

Замечания

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

Эти события возникают, когда фокус перемещается в ответ на действие пользователя, например нажатие клавиши TAB или щелчок объекта, или при использовании метода SetFocus в Visual Basic или при использовании действия SelectObject, GoToRecord, GoToControl или GoToPage в макросе.

Элемент управления может получить фокус только в том случае, если его свойства Visible и Enabled имеют значение Да. Форма может получить фокус только в том случае, если в ней нет элементов управления или если все видимые элементы управления отключены. Если форма содержит какие-либо видимые, включенные элементы управления, событие GotFocus для формы не возникает.

Вы можете указать, что происходит, когда форма или элемент управления получает фокус, выполнив макрос или процедуру события при возникновении события GotFocus . Например, вложив процедуру событий GotFocus к каждому элементу управления в форме, вы можете направлять пользователя по приложению, отображая краткие инструкции или сообщения в текстовом поле. Вы также можете предоставить визуальные подсказки, включив, отключив или отображая элементы управления, зависящие от элемента управления с фокусом.

Примечание.

Чтобы настроить порядок перемещения фокуса от элемента управления к элементу управления в форме при нажатии клавиши TAB, задайте порядок табуляции или укажите ключи доступа для элементов управления.

Событие GotFocus отличается от события Ввод тем, что событие GotFocus возникает каждый раз, когда элемент управления получает фокус. Например, предположим, что пользователь нажимает флажок на форме, затем щелкает отчет и, наконец, нажимает флажок на форме, чтобы перевести его на передний план. Событие GotFocus возникает в обоих случаях, когда флажок получает фокус. Напротив, событие Ввод возникает только при первом нажатии пользователем флажка. Событие GotFocus возникает после события Ввод .

При перемещении фокуса на элемент управления в форме, а у этого элемента управления нет фокуса на этой форме, события Exit и LostFocus для элемента управления, который имеет фокус на форме, происходят до событий ВВОД и GotFocus для элемента управления, в который вы перемещены.

При использовании мыши для перемещения фокуса с элемента управления на основной форме в элемент управления в подчиненной форме этой формы происходят следующие события:

  • Выход (для элемента управления в основной форме)
  • LostFocus (для элемента управления в основной форме)
  • Введите (для элемента управления подчиненной формы)
  • Выход (для элемента управления в подчиненной форме, в которой был фокус)
  • LostFocus (для элемента управления в подчиненной форме, на которой был фокус)
  • Введите (для элемента управления в подчиненной форме, в которую переместился фокус)
  • GotFocus (для элемента управления в подчиненной форме, в которую переместился фокус)

Если элемент управления, к которому вы переходите в подчиненную форму, ранее был фокусирован, ни его событие ВВОД , ни событие GotFocus не возникает, но событие ВВОД для элемента управления подчиненной формы не возникает. При перемещении фокуса из элемента управления в подчиненную форму на элемент управления в основной форме события Exit и LostFocus для элемента управления в подчиненной форме не возникают, только событие Exit для элемента управления подчиненной формы и события ВВОД и GotFocus для элемента управления в основной форме.

Примечание.

Для перемещения фокуса на другой элемент управления часто используется мышь или клавиша, например TAB. Это приводит к возникновению событий мыши или клавиатуры в дополнение к событиям, описанным в этом разделе.

При переключении между двумя открытыми формами для первой возникает событие Деактивация , а для второй — событие Activate . Если формы не содержат видимых, включенных элементов управления, событие LostFocus возникает для первой формы до события Деактивировать , а событие GotFocus возникает для второй формы после события Activate .

Пример

В следующем примере отображается сообщение в метке при перемещении фокуса на кнопку параметра. Чтобы попробовать пример, добавьте следующие процедуры событий в форму с именем Контакты , содержащую кнопку параметра OptionYes и метку LabelYes.

Private Sub OptionYes_GotFocus() 
 Me!LabelYes.Caption = "Option button 'Yes' has the focus." 
End Sub 
 
Private Sub OptionYes_LostFocus() 
 Me!LabelYes.Caption = "" ' Clear caption. 
End Sub

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

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