Visão geral sobre eventos de automação de interface do usuário
Observação
Esta documentação destina-se a desenvolvedores de .NET Framework que querem usar as classes da Automação da Interface do Usuário gerenciadas definidas no namespace System.Windows.Automation. Para obter as informações mais recentes sobre a Automação da Interface do Usuário, confira API de Automação do Windows: Automação da Interface do Usuário.
A notificação de eventos da Automação da Interface do Usuário da Microsoft é um recurso fundamental para tecnologias assistenciais, como leitores e lupas de tela. Esses clientes da Automação da Interface do Usuário acompanham os eventos gerados pelos provedores da Automação da Interface do Usuário quando algo acontece na interface do usuário e usam as informações para notificar os usuários finais.
A eficiência é aprimorada permitindo que os aplicativos do provedor acionem eventos seletivamente, dependendo se um cliente é inscrito nesses eventos ou não, caso nenhum cliente esteja escutando eventos.
Tipos de eventos
Os eventos de Automação da Interface do Usuário estão nas seguintes categorias.
Evento | Descrição |
---|---|
Alteração da propriedade | Gerado quando uma propriedade em um padrão de controle ou elemento da Automação da Interface do Usuário é alterada. Por exemplo, se um cliente precisa monitorar o controle de uma caixa de seleção do aplicativo, ele pode se registrar para escutar um evento de alteração de propriedade na propriedade ToggleState. Quando o controle da caixa de seleção é marcado ou desmarcado, o provedor dispara o evento e o cliente pode executar ações, conforme necessário. |
Ação de elemento | Gerado quando uma alteração na interface do usuário resulta de uma atividade programática ou do usuário final. Por exemplo, quando um botão recebe um clique ou é invocado por meio de InvokePattern. |
Alteração de estrutura | Gerado quando a estrutura da árvore da Automação da Interface do Usuário é alterada. A estrutura muda quando novos itens da interface do usuário se tornam visíveis, ocultos ou são removidos da área de trabalho. |
Alteração global da área de trabalho | Gerado quando ocorrem ações de interesse global do cliente, como quando o foco muda de um elemento para outro ou quando uma janela é fechada. |
Alguns eventos não indicam necessariamente que o estado da interface do usuário mudou. Por exemplo, se o usuário vai para um campo de entrada de texto e clica em um botão para atualizar o campo, um TextChangedEvent
é gerado, mesmo que o usuário não tenha realmente mudado o texto. Ao processar um evento, pode ser necessário que o aplicativo cliente verifique se algo realmente mudou antes de executar uma ação.
Os eventos a seguir podem ser gerados mesmo quando o estado da interface do usuário não é alterado.
AutomationPropertyChangedEvent
(dependendo da propriedade que foi alterada)ElementSelectedEvent
InvalidatedEvent
TextChangedEvent
Identificadores de eventos da Automação da Interface do Usuário
Os eventos da Automação da Interface do Usuário da Microsoft são identificados por objetos AutomationEvent. A propriedade Id contém um valor que identifica exclusivamente o tipo de evento.
Os valores possíveis para Id são fornecidos na tabela a seguir, com o tipo usado para argumentos de evento. Observe que os identificadores usados por clientes e provedores são campos de nome idêntico de classes diferentes.
Argumentos de eventos da Automação da Interface do Usuário
As classes a seguir encapsulam argumentos de eventos.
Classe | Descrição |
---|---|
AsyncContentLoadedEventArgs | Contém informações sobre o carregamento assíncrono do conteúdo, incluindo o percentual de carregamento concluído. |
AutomationEventArgs | Contém informações sobre um evento simples que não exige dados extras. |
AutomationFocusChangedEventArgs | Contém informações sobre uma alteração no foco de entrada de um elemento para outro. Os eventos desse tipo são gerados pelo sistema da Automação da Interface do Usuário, não pelos provedores. |
AutomationPropertyChangedEventArgs | Contém informações sobre uma alteração em um valor de propriedade de um elemento ou um padrão de controle. |
StructureChangedEventArgs | Contém informações sobre uma alteração na árvore da Automação da Interface do Usuário. |
WindowClosedEventArgs | Contém informações sobre um fechamento de janela. |
Todas as classes de argumento de evento contêm um membro EventId. Esse identificador é encapsulado em um AutomationEvent.
Os objetos AutomationEvent usados para identificar os eventos são obtidos pelos provedores nos campos de AutomationElementIdentifiers e nas classes de identificador de padrão de controle, como DockPatternIdentifiers. Os campos equivalentes são obtidos pelos aplicativos cliente nos campos de AutomationElement e nas classes de padrão de controle, como DockPattern.
Para ver a lista de identificadores de eventos, confira Eventos da Automação da Interface do Usuário para clientes.