Evento Form. GotFocus (Access)Form.GotFocus event (Access)

El evento GotFocus se produce cuando el objeto especificado recibe el enfoque.The GotFocus event occurs when the specified object receives the focus.

SintaxisSyntax

expresión. GotFocusexpression.GotFocus

expresión Variable que representa un objeto Form.expression A variable that represents a Form object.

ObservacionesRemarks

Para ejecutar una macro o un procedimiento de evento cuando se produzcan estos eventos, establezca la propiedad OnGotFocus en el nombre de la macro o en [procedimiento de evento].To run a macro or event procedure when these events occur, set the OnGotFocus property to the name of the macro or to [Event Procedure].

Estos eventos se producen cuando el enfoque se desplaza como respuesta a una acción del usuario, como presionar la tecla TAB o hacer clic en el objeto, o al usar el método SetFocus en Visual Basic o las acciones SeleccionarObjeto, IrARegistro, IrAControl o IrAPágina en una macro.These events occur when the focus moves in response to a user action, such as pressing the Tab key or clicking the object, or when you use the SetFocus method in Visual Basic or the SelectObject, GoToRecord, GoToControl, or GoToPage action in a macro.

Un control puede recibir el foco sólo si sus propiedades Visible y Enabled se establecen en Yes.A control can receive the focus only if its Visible and Enabled properties are set to Yes. Un formulario puede recibir el foco sólo si no tiene controles o si todos los controles visibles están deshabilitados.A form can receive the focus only if it has no controls or if all visible controls are disabled. Si un formulario contiene algún control visible y habilitado, no se produce el evento GotFocus para el formulario.If a form contains any visible, enabled controls, the GotFocus event for the form doesn't occur.

Puede especificar lo que sucede cuando un formulario o control recibe el enfoque mediante la ejecución de una macro o un procedimiento de evento cuando se produce el evento GotFocus.You can specify what happens when a form or control receives the focus by running a macro or an event procedure when the GotFocus event occurs. Por ejemplo, al asociar un procedimiento de evento GotFocus a cada control de un formulario, puede guiar al usuario por la aplicación mostrando breves instrucciones o mensajes en un cuadro de texto.For example, by attaching a GotFocus event procedure to each control on a form, you can guide the user through your application by displaying brief instructions or messages in a text box. También puede dar pistas visuales habilitando, deshabilitando o mostrando controles que dependan del control que tenga el enfoque.You can also provide visual cues by enabling, disabling, or displaying controls that depend on the control with the focus.

Nota

Para personalizar el orden en el que el enfoque pasa de control a control en un formulario cuando se presiona la tecla Tab, establezca el orden de tabulación o especifique teclas de acceso para los controles.To customize the order in which the focus moves from control to control on a form when you press the Tab key, set the tab order or specify access keys for the controls.

El evento GotFocus se diferencia del evento Enter en que el evento GotFocus se produce cada vez que un control recibe el foco.The GotFocus event differs from the Enter event in that the GotFocus event occurs every time a control receives the focus. Por ejemplo, suponga que el usuario hace clic en una casilla de verificación en un formulario, a continuación, hace clic en un informe y finalmente hace clic en la casilla de verificación en el formulario para mostrarla en primer plano.For example, suppose the user clicks a check box on a form, then clicks a report, and finally clicks the check box on the form to bring it to the foreground. El evento GotFocus se produce las dos veces que la casilla recibe el enfoque.The GotFocus event occurs both times the check box receives the focus. Por el contrario, el evento Enter solo se produce la primera vez que el usuario hace clic en la casilla.In contrast, the Enter event occurs only the first time the user clicks the check box. El evento GotFocus se produce después del evento Enter.The GotFocus event occurs after the Enter event.

Si desplaza el enfoque a un control de formulario que no lo tenía previamente, los eventos Exit y LostFocus del control que tenía el enfoque se producen antes que los eventos Enter y GotFocus del control que lo recibe.If you move the focus to a control on a form, and that control doesn't have the focus on that form, the Exit and LostFocus events for the control that does have the focus on the form occur before the Enter and GotFocus events for the control you moved to.

Si usa el mouse para desplazar el enfoque de un control de un formulario principal a un control de un subformulario del mismo, se producirán los siguientes eventos:If you use the mouse to move the focus from a control on a main form to a control on a subform of that form, the following events occur:

  • Exit (para el control del formulario principal)Exit (for the control on the main form)
  • LostFocus (para el control del formulario principal)LostFocus (for the control on the main form)
  • Enter (para el control del subformulario)Enter (for the subform control)
  • Exit (para el control del subformulario que tenía el enfoque)Exit (for the control on the subform that had the focus)
  • LostFocus (para el control del subformulario que tenía el enfoque)LostFocus (for the control on the subform that had the focus)
  • Enter (para el control del subformulario al que se mueve el enfoque)Enter (for the control on the subform that the focus moved to)
  • GotFocus (para el control del subformulario al que se mueve el enfoque)GotFocus (for the control on the subform that the focus moved to)

Si el control al que se mueve el subformulario tenía el foco anteriormente, no se producirá el evento Enter ni el evento GotFocus , pero se producirá el evento Enter para el control de subformulario.If the control that you move to on the subform previously had the focus, neither its Enter event nor its GotFocus event occurs, but the Enter event for the subform control does occur. Si desplaza el enfoque de un control de un subformulario a un control del formulario principal, no se producirán los eventos Exit y LostFocus del control del subformulario, sólo el evento Exit para el control de subformulario y los de Enter y **GotFocus **eventos para el control del formulario principal.If you move the focus from a control on a subform to a control on the main form, the Exit and LostFocus events for the control on the subform don't occur, only the Exit event for the subform control and the Enter and GotFocus events for the control on the main form.

Nota

A menudo se usa el mouse o una tecla como Tab para desplazar el enfoque a otro control.You often use the mouse or a key such as Tab to move the focus to another control. Esto hace que se produzcan eventos de mouse o de teclado, además de los eventos abordados en este tema.This causes mouse or keyboard events to occur in addition to the events discussed in this topic.

Cuando se cambia entre dos formularios abiertos, el evento Deactivate se produce para el primer formulario, y se produce el evento Activate para el segundo formulario.When you switch between two open forms, the Deactivate event occurs for the first form, and the Activate event occurs for the second form. Si los formularios no contienen ningún control visible y habilitado, se producirá el evento LostFocus para el primer formulario antes del evento Deactivate y el evento GotFocus para el segundo formulario después del evento Activate.If the forms contain no visible, enabled controls, the LostFocus event occurs for the first form before the Deactivate event, and the GotFocus event occurs for the second form after the Activate event.

EjemploExample

En el ejemplo siguiente se muestra un mensaje en una etiqueta cuando el enfoque llega a un botón de opción.The following example displays a message in a label when the focus moves to an option button. Para probar el ejemplo, agregue los siguientes procedimientos de evento a un formulario **** denominado Contacts que contenga un botón de opción denominado OptionYes y un Label denominado LabelYes.To try the example, add the following event procedures to a form named Contacts that contains an option button named OptionYes and a label named 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

Soporte técnico y comentariosSupport and feedback

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación?Have questions or feedback about Office VBA or this documentation? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.