Compartir a través de


Información general sobre eventos de UI Automation

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.

La notificación de eventos de Microsoft UI Automation es una característica clave para las tecnologías de asistencia, tales como lectores y ampliadores de pantalla. Estos clientes de Automatización de la interfaz de usuario realizan el seguimiento de los eventos provocados por los proveedores de Automatización de la interfaz de usuario cuando sucede algo en la UI y utilizan la información para notificar a los usuarios finales.

Se mejora la eficacia gracias a que las aplicaciones de proveedor son capaces de provocar selectivamente los eventos (dependiendo de si hay clientes suscritos a ellos) o de no provocarlos en absoluto (si no hay clientes a la escucha de eventos).

Este tema contiene las secciones siguientes.

  • Tipos de eventos
  • Identificadores de los eventos de automatización de la interfaz de usuario
  • Argumentos de los eventos de automatización de la interfaz de usuario
  • Temas relacionados

Tipos de eventos

Los eventos de UI Automation pertenecen a las categorías siguientes.

Evento

Descripción

Cambio de propiedad

Se provoca cuando cambia una propiedad de un elemento o un patrón de control de UI Automation. Por ejemplo, si un cliente necesita supervisar el control de casilla de una aplicación, puede registrarse a fin de realizar escuchas para captar eventos de cambio de la propiedad ToggleState. Cuando se activa o desactiva el control de casilla, el proveedor provoca el evento y el cliente puede actuar en consecuencia.

Acción de elemento

Se provoca cuando se produce un cambio en la UI como resultado de una actividad del usuario final o de programación; por ejemplo, cuando se hace clic en un botón o cuando se lo invoca mediante InvokePattern.

Cambio de estructura

Se provoca cuando cambia la estructura del árbol de UI Automation. La estructura cambia cuando se muestran, ocultan o quitan en el escritorio nuevos elementos de la UI.

Cambio de escritorio global

Se provoca cuando se producen acciones de interés global para el cliente; por ejemplo, cuando el foco cambia de un elemento a otro o cuando se cierra una ventana.

Algunos eventos no significan necesariamente un cambio de estado de la interfaz de usuario. Por ejemplo, si el usuario se desplaza presionando la tecla TAB hasta un campo de entrada de texto y, a continuación, hace clic en un botón para actualizar el campo, se provoca un evento TextChangedEvent aunque, en realidad, el usuario no ha modificado el texto. Al procesar un evento, puede ser necesario que la aplicación cliente compruebe si realmente se ha producido un cambio antes de realizar cualquier acción.

Los eventos siguientes se pueden provocar aunque el estado de la interfaz de usuario no haya cambiado.

  • AutomationPropertyChangedEvent (según qué propiedad ha cambiado)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Identificadores de los eventos de automatización de la interfaz de usuario

Los eventos de Microsoft UI Automation se identifican mediante objetos AutomationEvent. La propiedad Id contiene un valor que identifica singularmente el tipo de evento.

Los valores posibles para Id se proporcionan en la tabla siguiente, junto con el tipo utilizado para los argumentos de evento. Observe que los identificadores utilizados por clientes y proveedores son campos con el mismo nombre de clases diferentes.

Identificador del cliente

Identificador del proveedor

Tipo de argumentos de evento

AutomationElement.AsyncContentLoadedEvent

AutomationElementIdentifiers.AsyncContentLoadedEvent

AsyncContentLoadedEventArgs

SelectionItemPattern.ElementAddedToSelectionEvent

SelectionItemPattern.ElementRemovedFromSelectionEvent

SelectionItemPattern.ElementSelectedEvent

SelectionPattern.InvalidatedEvent

InvokePattern.InvokedEvent

AutomationElement.LayoutInvalidatedEvent

AutomationElement.MenuClosedEvent

AutomationElement.MenuOpenedEvent

TextPattern.TextChangedEvent

TextPattern.TextSelectionChangedEvent

AutomationElement.ToolTipClosedEvent

AutomationElement.ToolTipOpenedEvent

WindowPattern.WindowOpenedEvent

SelectionItemPatternIdentifiers.ElementAddedToSelectionEvent

SelectionItemPatternIdentifiers.ElementRemovedFromSelectionEvent

SelectionItemPatternIdentifiers.ElementSelectedEvent

SelectionPatternIdentifiers.InvalidatedEvent

InvokePatternIdentifiers.InvokedEvent

AutomationElementIdentifiers.LayoutInvalidatedEvent

AutomationElementIdentifiers.MenuClosedEvent

AutomationElementIdentifiers.MenuOpenedEvent

TextPatternIdentifiers.TextChangedEvent

TextPatternIdentifiers.TextSelectionChangedEvent

AutomationElementIdentifiers.ToolTipClosedEvent

AutomationElementIdentifiers.ToolTipOpenedEvent

WindowPatternIdentifiers.WindowOpenedEvent

AutomationEventArgs

AutomationElement.AutomationFocusChangedEvent

AutomationElementIdentifiers.AutomationFocusChangedEvent

AutomationFocusChangedEventArgs

AutomationElement.AutomationPropertyChangedEvent

AutomationElementIdentifiers.AutomationPropertyChangedEvent

AutomationPropertyChangedEventArgs

AutomationElement.StructureChangedEvent

AutomationElementIdentifiers.StructureChangedEvent

StructureChangedEventArgs

WindowPattern.WindowClosedEvent

WindowPatternIdentifiers.WindowClosedEvent

WindowClosedEventArgs

Argumentos de los eventos de automatización de la interfaz de usuario

Las clases siguientes encapsulan los argumentos de evento.

Clase

Descripción

AsyncContentLoadedEventArgs

Contiene información sobre la carga asincrónica de contenido, incluido el porcentaje de carga completada.

AutomationEventArgs

Contiene información sobre un evento simple que no requiere datos adicionales.

AutomationFocusChangedEventArgs

Contiene información sobre un cambio en el foco de entrada de un elemento a otro. Los eventos de este tipo los provoca el sistema de UI Automation, no los proveedores.

AutomationPropertyChangedEventArgs

Contiene información sobre un cambio en un valor de propiedad de un elemento o patrón de control.

StructureChangedEventArgs

Contiene información sobre un cambio en el árbol de UI Automation.

WindowClosedEventArgs

Contiene información sobre el cierre de una ventana.

Todas las clases de los argumentos de evento contienen un miembro EventId. Este identificador se encapsula en un objeto AutomationEvent.

Los proveedores obtienen los objetos AutomationEvent que se utilizan para identificar los eventos a partir de los campos de AutomationElementIdentifiers y de las clases de identificadores de patrones de control, como DockPatternIdentifiers. Las aplicaciones cliente obtienen los campos equivalentes a partir de las clases de AutomationElement y de patrones de control, como DockPattern.

Para obtener una lista de identificadores de eventos, vea Eventos de UI Automation para clientes.

Vea también

Tareas

Suscribirse a eventos de UI Automation

Conceptos

Eventos de UI Automation para clientes

Implementación del proveedor de UI Automation en el servidor