Cenni preliminari sugli eventi di automazione interfaccia utente
Nota
Questa documentazione è destinata agli sviluppatori .NET Framework che desiderano utilizzare le classi di UI Automation gestite definite nello spazio dei nomi System.Windows.Automation. Per informazioni aggiornate su UI Automation, vedere API di automazione di Windows: UI Automation.
La notifica eventi di UI Automation è una funzionalità chiave per dispositivi di assistive technology, quali utilità per la lettura dello schermo e lenti d'ingrandimento. I 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 inviare notifiche agli utenti finali.
Una maggiore efficienza è ottenuta consentendo alle applicazioni provider di generare eventi in modo selettivo, se per tali eventi esistono sottoscrizioni di client, o di non generarne affatto, se nessun client è in attesa di eventi.
Tipi di eventi
Gli eventi di UI Automation rientrano nelle categorie seguenti.
Event | Descrizione |
---|---|
Modifica proprietà | Generato quando una proprietà di un elemento o di un pattern di controllo di UI Automation viene modificata. Ad esempio, se un client deve monitorare una casella di controllo di un'applicazione, può registrarsi per l'attesa di un evento di modifica per la 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 elemento | Generato quando l'interfaccia utente viene modificata dall'utente finale o da attività a livello di codice, ad esempio quando si fa clic su un pulsante o quest'ultimo viene richiamato tramite InvokePattern. |
Modifica struttura | Generato quando cambia la struttura dell'albero di UI Automation. La struttura viene modificata quando nuovi elementi dell'interfaccia utente sono resi visibili oppure vengono nascosti o rimossi dal desktop. |
Modifica globale desktop | Generato quando si verificano azioni di interesse globale per il client, ad esempio quando lo stato attivo passa da un elemento a un altro o quando si chiude una finestra. |
Alcuni eventi non indicano necessariamente che lo stato dell'interfaccia utente è cambiato. Ad esempio, se l'utente passa con il tasto TAB a un campo di immissione testo e quindi fa clic su un pulsante per aggiornare il campo, viene generato un evento TextChangedEvent
anche se in realtà l'utente non ha modificato il testo. Durante l'elaborazione di un evento, prima di eseguire un'azione può essere necessario per un'applicazione client verificare se sia effettivamente avvenuta una modifica.
I seguenti eventi possono essere generati anche se lo stato dell'interfaccia utente non è cambiato.
AutomationPropertyChangedEvent
(a seconda della proprietà che è stata modificata)ElementSelectedEvent
InvalidatedEvent
TextChangedEvent
Identificatori di 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 usato per gli argomenti dell'evento. Si noti che gli identificatori usati da client e provider sono campi denominati in modo identico di classi diverse.
Argomenti di eventi di automazione interfaccia utente
Le classi seguenti incapsulano argomenti di eventi.
Classe | Descrizione |
---|---|
AsyncContentLoadedEventArgs | Contiene informazioni sul caricamento asincrono del contenuto, compresa la percentuale di completamento del caricamento. |
AutomationEventArgs | Contiene informazioni su un evento semplice che non richiede dati aggiuntivi. |
AutomationFocusChangedEventArgs | Contiene informazioni su una modifica nello stato attivo di input da un elemento a un altro. Eventi di questo tipo sono generati dal sistema di UI Automation, non dai provider. |
AutomationPropertyChangedEventArgs | Contiene informazioni sulla modifica del valore di una proprietà di un elemento o di un pattern di controllo. |
StructureChangedEventArgs | Contiene informazioni su una modifica nell'albero di UI Automation. |
WindowClosedEventArgs | Contiene informazioni sulla chiusura di una finestra. |
Tutte le classi di argomenti di eventi contengono un membro EventId . Questo identificatore è incapsulato in un AutomationEvent.
Gli oggetti AutomationEvent usati per l'identificazione di eventi sono ottenuti dai provider, che li recuperano da campi in AutomationElementIdentifiers e da classi di identificatori di pattern di controllo quale DockPatternIdentifiers. I campi equivalenti vengono ottenuti dalle applicazioni client da campi in AutomationElement e da classi di pattern di controllo quale DockPattern.
Per un elenco degli identificatori di evento, vedere UI Automation Events for Clients.