IRawElementProviderAdviseEvents.AdviseEventAdded(Int32, Int32[]) Método

Definição

Notifica o provedor de Automação da Interface do Usuário quando um cliente de Automação da Interface do Usuário começa a escutar um evento específico, incluindo um evento com uma propriedade que sofreu alteração.

public:
 void AdviseEventAdded(int eventId, cli::array <int> ^ properties);
public void AdviseEventAdded (int eventId, int[] properties);
abstract member AdviseEventAdded : int * int[] -> unit
Public Sub AdviseEventAdded (eventId As Integer, properties As Integer())

Parâmetros

eventId
Int32

O identificador do evento sendo adicionado.

properties
Int32[]

Os identificadores das propriedades que estão sendo adicionados ou null, se o ouvinte de evento que está sendo adicionado não está escutando eventos de propriedade.

Exemplos

O exemplo a seguir adiciona a uma lista de alterações de propriedade que foram assinadas.

void IRawElementProviderAdviseEvents.AdviseEventAdded(int eventId, 
                                                      int[] properties)
{
    if (eventId == AutomationElement.AutomationPropertyChangedEvent.Id)
    {
        foreach (int i in properties)
        {
            AutomationProperty property = AutomationProperty.LookupById(i);
            // Add to an ArrayList.
            subscribedProperties.Add(property);
        }
    }
}
Sub AdviseEventAdded(ByVal eventId As Integer, ByVal properties() As Integer) _
    Implements IRawElementProviderAdviseEvents.AdviseEventAdded

    If eventId = AutomationElement.AutomationPropertyChangedEvent.Id Then
        For Each i As Integer In properties
            Dim autoProperty As AutomationProperty = AutomationProperty.LookupById(i)
            ' Add to an ArrayList.
            subscribedProperties.Add(autoProperty)
        Next
    End If

End Sub

Comentários

Esse método permite que o provedor reduza a sobrecarga gerando apenas eventos que estão sendo escutados.

O eventId pode ser comparado com o Id de um AutomationEvent como WindowClosedEvent. Você também pode obter o AutomationEvent usando LookupById.

Aplica-se a