Compartir a través de


Eventos de UI Automation para clientes

NotaNota

Esta documentación está dirigida a desarrolladores de .NET Framework que desean usar las clases administradas de UI Automation definidas en el espacio de nombres System.Windows.Automation.Para obtener información actualizada sobre UI Automation, vea Windows Automation API: UI Automation.

En este tema se describe cómo los clientes de Automatización de la interfaz de usuario usan los eventos de Microsoft UI Automation.

UI Automation permite a los clientes suscribirse a eventos de interés. Esta funcionalidad mejora el rendimiento, ya que evita tener que sondear continuamente todos los elementos de la UI en el sistema para ver si ha cambiado alguna información, estructura o estado.

La posibilidad de realizar escuchas de eventos sólo dentro de un ámbito definido también mejora la eficacia. Por ejemplo, un cliente puede realizar escuchas de eventos de cambio de foco en todos los elementos de UI Automation del árbol o en un solo elemento y sus descendientes.

NotaNota

No de por hecho que un proveedor de Microsoft UI Automation provoca todos los posibles eventos.Por ejemplo, no todos los cambios de propiedad hacen que los proveedores de proxy estándar de controles Windows Forms y Win32 provoquen eventos.

Para obtener una visión más amplia de los eventos de UI Automation, vea Información general sobre eventos de UI Automation.

Este tema contiene las secciones siguientes.

  • Suscribirse a eventos
  • Temas relacionados

Suscribirse a eventos

Las aplicaciones cliente se suscriben a los eventos de un tipo determinado mediante el registro de un controlador de eventos a través de uno de los métodos siguientes.

Método

Tipo de evento

Tipo de argumentos de evento

Tipo delegado

AddAutomationFocusChangedEventHandler

Cambio de foco

AutomationFocusChangedEventArgs

AutomationFocusChangedEventHandler

AddAutomationPropertyChangedEventHandler

Cambio de propiedad

AutomationPropertyChangedEventArgs

AutomationPropertyChangedEventHandler

AddStructureChangedEventHandler

Cambio de estructura

StructureChangedEventArgs

StructureChangedEventHandler

AddAutomationEventHandler

Todos los eventos restantes, identificados por medio de AutomationEvent

AutomationEventArgs o WindowClosedEventArgs

AutomationEventHandler

Antes de llamar al método, debe crear un método delegado para controlar el evento. Si lo prefiere, puede administrar distintos tipos de eventos en un solo método y después pasar este método en varias llamadas a uno de los métodos de la tabla. Por ejemplo, puede configurarse un solo AutomationEventHandler para controlar de manera diferente varios eventos, por EventId.

NotaNota

Para procesar eventos de cierre de ventana, convierta el tipo de argumento que se pasa al controlador de eventos como WindowClosedEventArgs.Dado que el elemento de Microsoft UI Automation para la ventana ya no es válido, no puede utilizar el parámetro sender para recuperar información; utilice en su lugar GetRuntimeId.

Nota de precauciónPrecaución

Si la aplicación puede recibir eventos de su propia UI, no utilice el subproceso de la UI de su aplicación para suscribirse a eventos ni para cancelar suscripciones.Si lo hace, el comportamiento sería imprevisible.Para obtener más información, vea Aspectos relacionados con subprocesos de la UI Automation.

Al cerrar la aplicación o cuando los eventos de UI Automation ya no interesan a la aplicación, los clientes de Automatización de la interfaz de usuario deben llamar a uno de los métodos siguientes.

Método

Descripción

RemoveAutomationEventHandler

Anula el registro de un controlador de eventos registrado mediante AddAutomationEventHandler.

RemoveAutomationFocusChangedEventHandler

Anula el registro de un controlador de eventos registrado mediante AddAutomationFocusChangedEventHandler.

RemoveAutomationPropertyChangedEventHandler

Anula el registro de un controlador de eventos registrado mediante AddAutomationPropertyChangedEventHandler.

RemoveAllEventHandlers

Anula el registro de todos los controladores de eventos registrados.

Para obtener código de ejemplo, vea Suscribirse a eventos de UI Automation.

Vea también

Tareas

Suscribirse a eventos de UI Automation

TrackFocus Sample

Conceptos

Información general sobre eventos de UI Automation

Información general acerca de las propiedades de UI Automation