Événement CustomControl.LostFocus (Access)
L’événement LostFocus se produit lorsque l’objet spécifié est désactivé.
Syntaxe
expression. Lostfocus
Expression Variable qui représente un objet CustomControl .
Remarques
Pour exécuter une macro ou une procédure événementielle lorsque ces événements se produisent, définissez la propriété OnLostFocus sur le nom de la macro ou sur [Procédure événementielle].
Cet événement se produit lorsque le focus se déplace en réponse à une action de l’utilisateur, par exemple en appuyant sur la touche Tab ou en cliquant sur l’objet, ou lorsque vous utilisez la méthode SetFocus dans Visual Basic ou l’action SelectObject, GoToRecord, GoToControl ou GoToPage dans une macro.
Un contrôle peut recevoir le focus uniquement si ses propriétés Visible et Enabled sont définies sur Oui. Un formulaire peut recevoir le focus uniquement si elle n'a aucun contrôle ou si tous les contrôles visibles sont désactivés. Si un formulaire contient des contrôles visibles activés, l’événement GotFocus du formulaire ne se produit pas.
Vous pouvez spécifier ce qui se produit lorsqu'un formulaire ou un contrôle reçoit le focus en exécutant une macro ou une procédure événementielle lorsque l'événement GotFocus se produit. Par exemple, en attachant une procédure événementielle GotFocus à chaque contrôle sur un formulaire, vous pouvez guider l'utilisateur par le biais de votre application en affichant de brèves instructions ou des messages dans une zone de texte. Il est également possible d'ajouter des indications visuelles en activant, désactivant ou affichant des contrôles qui dépendent du contrôle actif.
Remarque
Pour personnaliser l’ordre dans lequel le focus passe du contrôle au contrôle d’un formulaire lorsque vous appuyez sur la touche Tab, définissez l’ordre de tabulation ou spécifiez les touches d’accès pour les contrôles.
L'événement LostFocus diffère de l'événement Exit dans la mesure où l'événement LostFocus se produit chaque fois qu'un contrôle perd le focus. L'événement Exit se produit uniquement avant qu'un contrôle perd le focus vers un autre contrôle du même formulaire. L'événement LostFocus se produit après l'événement Exit.
Si vous déplacez le focus vers un contrôle sur un formulaire et que contrôle n'est pas activé sur ce formulaire, Exit et LostFocus du contrôle qui a le focus sur le formulaire se produisent avant les événements Enter et GotFocus du contrôle vous ont été déplacés vers.
Si vous utilisez la souris pour désactiver le contrôle d'un formulaire principal au profit du contrôle d'un de ses sous-formulaires, les événements suivants se produisent :
- Exit (pour le contrôle du formulaire principal)
- LostFocus (pour le contrôle du formulaire principal)
- Enter (pour le contrôle du sous-formulaire)
- Exit (pour le contrôle du sous-formulaire précédemment activé)
- LostFocus (pour le contrôle du sous-formulaire précédemment activé)
- Enter (pour le contrôle du sous-formulaire sur lequel le focus a été déplacé)
- GotFocus (pour le contrôle du sous-formulaire sur lequel le focus a été déplacé)
Si le contrôle vers lequel vous vous déplacez sur le sous-formulaire avait précédemment le focus, ni son événement Enter ni son événement GotFocus se produit, mais l’événement Enter pour le contrôle de sous-formulaire se produit. Si vous déplacez le focus d'un contrôle sur un sous-formulaire à un contrôle du formulaire principal, la sortie et événements LostFocus du contrôle du sous-formulaire ne se produisent, simplement l'événement Exit pour le contrôle de sous-formulaire et les événements Enter et GotFocus pour le contrôle du formulaire principal.
Remarque
Vous utilisez souvent la souris ou une touche telle que Tab pour déplacer le focus sur un autre contrôle. Outre les événements traités dans cette rubrique, cela déclenche les événements souris ou clavier.
Lorsque vous basculez entre deux formulaires ouverts, l'événement Deactivate se produit pour le premier formulaire et l'événement Activate se produit pour le deuxième formulaire. Si les formulaires ne contiennent pas visible, activé les contrôles, l'événement LostFocus se produit pour le premier formulaire avant l'événement Deactivate, et l'événement GotFocus se produit pour le deuxième formulaire après l'événement Activate.
Exemple
L'exemple suivant affiche un message dans une étiquette lorsqu'un bouton d'options est activé. Pour essayer l’exemple, ajoutez les procédures événementielles suivantes à un formulaire nommé Contacts qui contient un bouton d’option nommé OptionYes et une étiquette nommée 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
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.