Condividi tramite


Panoramica degli eventi di automazione interfaccia utente

Annotazioni

Questa documentazione è destinata agli sviluppatori .NET Framework che vogliono usare le classi di automazione interfaccia utente gestite definite nello spazio dei nomi System.Windows.Automation. Per le informazioni più recenti sull'automazione interfaccia utente, vedere API di automazione di Windows: Automazione interfaccia utente.

La notifica degli eventi di Automazione interfaccia utente Microsoft è una funzionalità fondamentale per le tecnologie assistive, ad esempio lettori di schermo e ingranditori dello schermo. Questi client di automazione interfaccia utente tengono traccia degli eventi generati dai provider di automazione interfaccia utente quando si verifica un evento nell'interfaccia utente e usano le informazioni per notificare agli utenti finali.

L'efficienza è migliorata consentendo alle applicazioni provider di generare eventi in modo selettivo, a seconda che i client siano iscritti o meno a tali eventi, o del tutto non generare eventi se nessun client è in ascolto.

Tipi di eventi

Gli eventi di automazione interfaccia utente rientrano nelle categorie seguenti.

Evento Descrizione
Modifica delle proprietà Generato quando viene modificata una proprietà su un elemento di automazione dell'interfaccia utente o su un pattern di controllo. Ad esempio, se un client deve monitorare una casella di controllo di un'applicazione, può registrarsi per ascoltare un evento di modifica nella proprietà ToggleState. Quando la casella di controllo è selezionata o deselezionata, il provider genera l'evento e il client può agire come necessario.
Azione dell'elemento Generato quando una modifica nell'interfaccia utente risulta dall'utente finale o dall'attività programmatica; ad esempio, quando si fa clic o si richiama un pulsante tramite InvokePattern.
Modifica della struttura Generato quando la struttura dell'albero di automazione dell'interfaccia utente cambia. La struttura cambia quando i nuovi elementi dell'interfaccia utente diventano visibili, nascosti o rimossi sul desktop.
Modifica del desktop globale Generato quando si verificano azioni di interesse globale per il client, come quando il focus si sposta da un elemento a un altro o quando una finestra si chiude.

Alcuni eventi non significano necessariamente che lo stato dell'interfaccia utente sia cambiato. Ad esempio, se l'utente passa a un campo di immissione di testo e quindi fa clic su un pulsante per aggiornare il campo, viene generato un oggetto TextChangedEvent anche se l'utente non ha effettivamente modificato il testo. Durante l'elaborazione di un evento, potrebbe essere necessario che un'applicazione client verifichi se qualcosa è effettivamente cambiato prima di eseguire un'azione.

Gli eventi seguenti possono essere generati anche quando lo stato dell'interfaccia utente non è stato modificato.

  • AutomationPropertyChangedEvent (a seconda della proprietà modificata)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Identificatori di evento di automazione interfaccia utente

Gli eventi di Automazione interfaccia utente Microsoft sono identificati dagli AutomationEvent oggetti . La Id proprietà contiene un valore che identifica in modo univoco il tipo di evento.

I valori possibili per Id sono specificati nella tabella seguente, insieme al tipo usato per gli argomenti dell'evento. Si noti che gli identificatori usati dai client e dai provider sono campi denominati in modo identico da classi diverse.

Identificatore cliente Identificatore del provider Tipo di argomenti dell'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

Argomenti dell'evento di automazione dell'interfaccia utente

Le classi seguenti incapsulano gli argomenti dell'evento.

Classe Descrizione
AsyncContentLoadedEventArgs Contiene informazioni sul caricamento asincrono del contenuto, inclusa la percentuale di caricamento completata.
AutomationEventArgs Contiene informazioni su un evento semplice che non richiede dati aggiuntivi.
AutomationFocusChangedEventArgs Contiene informazioni su una modifica dello stato attivo dell'input da un elemento a un altro. Gli eventi di questo tipo vengono generati dal sistema di automazione interfaccia utente, non dai provider.
AutomationPropertyChangedEventArgs Contiene informazioni su una modifica in un valore della proprietà di un elemento o di un pattern di controllo.
StructureChangedEventArgs Contiene informazioni su una modifica nell'albero di automazione interfaccia utente.
WindowClosedEventArgs Contiene informazioni sulla chiusura di una finestra.

Tutte le classi di argomenti dell'evento contengono un EventId membro. Questo identificatore viene incapsulato in un oggetto AutomationEvent.

Gli AutomationEvent oggetti usati per identificare gli eventi vengono ottenuti dai provider dai campi nelle AutomationElementIdentifiers classi di identificatori del pattern di controllo, ad esempio DockPatternIdentifiers. I campi equivalenti vengono ottenuti dalle applicazioni client dai campi nelle AutomationElement classi dei pattern di controllo, ad esempio DockPattern.

Per un elenco degli identificatori di evento, vedere Eventi di automazione interfaccia utente per i client.

Vedere anche