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


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

Событие LostFocus возникает, когда указанный объект теряет фокус.

Синтаксис

expression. Lostfocus

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

Замечания

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

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

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

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

Примечание.

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

Событие LostFocus отличается от события Exit тем, что событие LostFocus возникает каждый раз, когда элемент управления теряет фокус. Событие Exit возникает только до того, как элемент управления потеряет фокус на другой элемент управления в той же форме. Событие LostFocus возникает после события Exit .

При перемещении фокуса на элемент управления в форме, а у этого элемента управления нет фокуса на этой форме, события 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 и обратная связь.