Eventi di automazione interfaccia utente per i client

Aggiornamento: novembre 2007

In questo argomento viene descritto l'utilizzo degli eventi di automazione interfaccia utente Microsoft da parte dei client di automazione interfaccia utente.

automazione interfaccia utente consente ai client di sottoscrivere gli eventi di interesse. Questa funzionalità migliora le prestazioni eliminando la necessità di eseguire continuamente il polling di tutti gli elementi dell'interfaccia utente nel sistema per verificare se un'informazione, una struttura o uno stato è stato modificato.

Anche l'efficienza risulta migliorata grazie alla possibilità di rimanere in ascolto di eventi solo all'interno di un ambito definito. Ad esempio, un client può rimanere in ascolto di eventi di modifica dello stato attivo in tutti gli elementi di automazione interfaccia utente nella struttura ad albero o in un solo elemento e nei relativi discendenti.

Nota:

I provider di automazione interfaccia utente Microsoft non generano tutti gli eventi possibili. Ad esempio, non tutte le modifiche di proprietà causano la generazione di eventi da parte dei provider proxy standard per i controlli Windows Form e Win32.

Per ulteriori informazioni sugli eventi di automazione interfaccia utente, vedere Cenni preliminari sugli eventi di automazione interfaccia utente.

Nel presente argomento sono contenute le seguenti sezioni.

  • Sottoscrizione agli eventi
  • Argomenti correlati

Sottoscrizione agli eventi

Le applicazioni client sottoscrivono eventi di un determinato tipo registrando un gestore eventi tramite uno dei metodi seguenti.

Metodo

Tipo di evento

Tipo di argomenti dell'evento

Tipo di delegato

AddAutomationFocusChangedEventHandler

Modifica dello stato attivo

AutomationFocusChangedEventArgs

AutomationFocusChangedEventHandler

AddAutomationPropertyChangedEventHandler

Modifica di proprietà

AutomationPropertyChangedEventArgs

AutomationPropertyChangedEventHandler

AddStructureChangedEventHandler

Modifica di struttura

StructureChangedEventArgs

StructureChangedEventHandler

AddAutomationEventHandler

Tutti gli altri eventi, identificati da un oggetto AutomationEvent

AutomationEventArgs oppure WindowClosedEventArgs

AutomationEventHandler

Prima di chiamare il metodo, è necessario creare un metodo delegato per gestire l'evento. Se si preferisce, è possibile gestire tipi diversi di eventi in un singolo metodo e passare questo metodo in più chiamate a uno dei metodi indicati nella tabella. Ad esempio, è possibile impostare un solo oggetto AutomationEventHandler per gestire vari eventi in modo diverso in base alla proprietà EventId.

Nota:

Per elaborare gli eventi di chiusura di finestra, eseguire il cast del tipo di argomento passato al gestore eventi come WindowClosedEventArgs. Poiché l'elemento di automazione interfaccia utente Microsoft per la finestra non è più valido, non è possibile utilizzare il parametro sender per recuperare informazioni; utilizzare invece GetRuntimeId.

Attenzione:

Se l'applicazione potrebbe ricevere eventi dalla propria interfaccia utente, non utilizzare il thread dell'interfaccia utente dell'applicazione per sottoscrivere o per annullare la sottoscrizione di eventi. In caso contrario, si potrebbe verificare un comportamento imprevisto. Per ulteriori informazioni, vedere Problemi relativi al threading di automazione interfaccia utente.

All'arresto oppure quando gli eventi di automazione interfaccia utente non sono più di interesse per l'applicazione, i client di automazione interfaccia utente devono effettuare una chiamata a uno dei metodi seguenti.

Metodo

Descrizione

RemoveAutomationEventHandler

Annulla la registrazione di un gestore eventi registrato tramite AddAutomationEventHandler.

RemoveAutomationFocusChangedEventHandler

Annulla la registrazione di un gestore eventi registrato tramite AddAutomationFocusChangedEventHandler.

RemoveAutomationPropertyChangedEventHandler

Annulla la registrazione di un gestore eventi registrato tramite AddAutomationPropertyChangedEventHandler.

RemoveAllEventHandlers

Annulla la registrazione di tutti i gestori eventi registrati.

Per visualizzare il codice di esempio, vedere Sottoscrivere gli eventi di automazione interfaccia utente.

Vedere anche

Attività

Sottoscrivere gli eventi di automazione interfaccia utente

Esempio di TrackFocus

Concetti

Cenni preliminari sugli eventi di automazione interfaccia utente

Cenni preliminari sulle proprietà di automazione interfaccia utente