Condividi tramite


Cenni preliminari sugli eventi di automazione interfaccia utente

NotaNota

La presente documentazione è destinata agli sviluppatori di .NET Framework che desiderano utilizzare le classi UI Automation gestite definite nello spazio dei nomi System.Windows.Automation.Per informazioni aggiornate sull'UI Automation, vedere Windows Automation API: Automazione interfaccia utente (la pagina potrebbe essere in inglese).

La notifica degli eventi di Microsoft UI Automation è una funzionalità chiave per Assistive Technology come le utilità per la lettura dello schermo e le lenti di ingrandimento. Questi client di automazione interfaccia utente tengono traccia degli eventi generati dai provider di automazione interfaccia utente quando si verifica qualcosa nell'UI e utilizzano queste informazioni per la notifica agli utenti finali.

Per migliorare l'efficienza, le applicazioni provider possono generare eventi in modo selettivo, a seconda che esistano o meno client che hanno sottoscritto tali eventi, o non generarli affatto se non vi sono client in ascolto di eventi.

Nel presente argomento sono contenute le seguenti sezioni.

  • Tipi di eventi
  • Identificatori degli eventi di automazione interfaccia utente
  • Argomenti degli eventi di automazione interfaccia utente
  • Argomenti correlati

Tipi di eventi

Gli eventi di UI Automation rientrano nelle categorie seguenti.

Evento

Descrizione

Modifica di proprietà

Viene generato quando una proprietà di un pattern di controllo o di un elemento di UI Automation viene modificata. Se ad esempio un client deve monitorare un controllo casella di controllo di un'applicazione, può registrarsi per rimanere in ascolto di un evento di tipo modifica della proprietà ToggleState. Quando il controllo casella di controllo viene selezionato o deselezionato, il provider genera l'evento e il client può agire secondo necessità.

Azione di elemento

Viene generato quando una modifica nell'UI è il risultato di un'attività dell'utente finale o a livello di codice, ad esempio quando un pulsante viene premuto o richiamato tramite InvokePattern.

Modifica di struttura

Viene generato quando la struttura ad albero di UI Automation viene modificata. La struttura viene modificata quando nuovi elementi dell'UI diventano visibili, nascosti o vengono rimossi dal desktop.

Modifica globale del desktop

Viene generato quando si verificano azioni di interesse globale per il client, ad esempio quando lo stato attivo si sposta da un elemento ad un altro o quando una finestra si chiude.

Alcuni eventi non indicano necessariamente che lo stato dell'interfaccia utente è cambiato. Se ad esempio l'utente sposta il cursore in un campo di immissione testo tramite tabulazioni e quindi fa clic su un pulsante per aggiornare il campo, viene generato un evento TextChangedEvent anche se l'utente non ha effettivamente modificato il testo. Quando si elabora un evento, può essere necessario che un'applicazione client controlli se si è effettivamente verificata una modifica prima di eseguire un'azione.

Quando lo stato dell'interfaccia utente non è cambiato, è possibile che vengano generati gli eventi seguenti.

  • AutomationPropertyChangedEvent (a seconda della proprietà che è stata modificata)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

Identificatori degli eventi di automazione interfaccia utente

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

I valori possibili per Id sono indicati nella tabella riportata di seguito, insieme al tipo utilizzato per gli argomenti dell'evento. Si noti che gli identificatori utilizzati da client e provider sono campi dal nome identico di classi diverse.

Identificatore client

Identificatore 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 degli eventi di automazione interfaccia utente

Le classi seguenti incapsulano argomenti degli eventi.

Classe

Descrizione

AsyncContentLoadedEventArgs

Contiene informazioni sul caricamento asincrono di contenuto, inclusa la percentuale di caricamento completata.

AutomationEventArgs

Contiene informazioni su un semplice evento che non richiede dati aggiuntivi.

AutomationFocusChangedEventArgs

Contiene informazioni su una modifica nello stato attivo per l'input da un elemento ad un altro. Gli eventi di questo tipo sono generati dal sistema di UI Automation, non dai provider.

AutomationPropertyChangedEventArgs

Contiene informazioni su una modifica in un valore di proprietà di un elemento o pattern di controllo.

StructureChangedEventArgs

Contiene informazioni su una modifica nella struttura ad albero di UI Automation.

WindowClosedEventArgs

Contiene informazioni sulla chiusura di una finestra.

Tutte le classi degli argomenti degli eventi contengono un membro EventId. Questo identificatore è incapsulato in una classe AutomationEvent.

I provider ottengono gli oggetti AutomationEvent utilizzati per identificare gli eventi dai campi di AutomationElementIdentifiers e da classi di identificatori di pattern di controllo come DockPatternIdentifiers. Le applicazioni client ottengono i campi equivalenti dai campi di AutomationElement e da classi di pattern di controllo come DockPattern.

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

Vedere anche

Attività

Sottoscrivere gli eventi di automazione interfaccia utente

Concetti

Eventi di automazione interfaccia utente per i client

Implementazione del provider di automazione interfaccia utente lato server