Partilhar via


Automação de Eventos de Interface de Usuário para Clientes.

Este tópico descreve como Eventos são usados por Clientes de automação interface do usuário.

Permite que os clientes se inscrever em eventos de interesse.Esse recurso melhora o desempenho eliminando a necessidade para pesquisar todos continuamente o elementos de sistema para verificar se qualquer informação, estrutura ou o estado mudou.

Eficiência também é melhorada pela habilidade de ouvir eventos somente dentro de um determinado escopo.Por exemplo, um cliente pode escutar eventos de alteração foco em todos os Elementos na árvore de, ou em apenas um elemento e seus descendentes.

Observação:

Não presuma que todos os eventos possíveis são gerados por um o provedor.Por exemplo, nem todas as alterações Propriedade causar eventos a ser aumentado por provedores de proxy padrão para e Win32 Controles.

Para uma exibição mais ampla do. eventos, consulte Visão geral sobre eventos de automação de interface do usuário.

Este tópico contém as seguintes seções.

Inscrevendo-se em Eventos

Aplicações de cliente inscrevem-se em eventos de um tipo particular ao registrar um manipulador de evento, utilizando um dos seguintes métodos.

Método

Event Type

Tipo de Argumentos de Evento

Tipo Delegado

AddAutomationFocusChangedEventHandler

Mudança de Foco

AutomationFocusChangedEventArgs

AutomationFocusChangedEventHandler

AddAutomationPropertyChangedEventHandler

Mudança de Propriedade

AutomationPropertyChangedEventArgs

AutomationPropertyChangedEventHandler

AddStructureChangedEventHandler

Mudança de Estrutura

StructureChangedEventArgs

StructureChangedEventHandler

AddAutomationEventHandler

Todos os outros eventos, identificados por um AutomationEvent

AutomationEventArgs ou WindowClosedEventArgs

AutomationEventHandler

Antes de chamar o método, você deve criar um método delegado para lidar com o evento.Se você preferir, você pode lidar com diferentes tipos de eventos num único método, e passar este método em chamadas múltiplas para um dos métodos na tabela.Por exemplo, um único AutomationEventHandler Pode ser configurado para manipular vários eventos de maneira diferente de acordo com à EventID().

Observação:

Para processar eventos de janela fechado, converter o tipo de argumento que é passado para o manipulador de eventos como WindowClosedEventArgs.Porque o Elemento para a janela não é mais válido, você não pode usar o Remetente parâmetro para recuperar informações; Usar GetRuntimeId Em vez disso.

Cuidado:

Se seu aplicativo pode receber eventos de seu próprio. Não use seu aplicativo o segmento para inscrever-se a eventos, ou cancelar a inscrição.Fazer isto pode levar a comportamentos imprevisíveis.Para obter mais informações, consulte Problemas de Threading na Automação da Interface do Usuário.

Em desligamento, ou quando Eventos não são de interesse para o aplicativo Cliente de Automação interface do usuários deve chamar um dos seguintes métodos.

Método

Descrição

RemoveAutomationEventHandler

Desfaz registro um manipulador de eventos que foi registrados por uso AddAutomationEventHandler.

RemoveAutomationFocusChangedEventHandler

Desfaz registro um manipulador de eventos que foi registrados por uso AddAutomationFocusChangedEventHandler.

RemoveAutomationPropertyChangedEventHandler(Automationelemento, AutomationPropertyChangedEventHandler)

Desfaz registro um manipulador de eventos que foi registrados por uso AddAutomationPropertyChangedEventHandler.

RemoveAllEventHandlers

Desregistre todos os manipuladores de evento registrados.

Para exemplo de código, consulte Registre-se em Eventos de Automação de Interface do Usuário.

Consulte também

Tarefas

Registre-se em Eventos de Automação de Interface do Usuário

Exemplo de TrackFocus

Conceitos

Visão geral sobre eventos de automação de interface do usuário

UI Automation Properties Overview