Aracılığıyla paylaş


IRawElementProviderAdviseEvents.AdviseEventAdded(Int32, Int32[]) Yöntem

Tanım

Bir UI Otomasyonu istemcisi, özellik değiştirme olayı da dahil olmak üzere belirli bir olayı dinlemeye başladığında UI Otomasyonu sağlayıcısına bildirir.

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())

Parametreler

eventId
Int32

Eklenen olayın tanımlayıcısı.

properties
Int32[]

Eklenen özelliklerin tanımlayıcıları veya null eklenen olay dinleyicisi özellik olaylarını dinlemiyorsa.

Örnekler

Aşağıdaki örnek, abone olunan özellik değişiklikleri listesine eklenir.

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

Açıklamalar

Bu yöntem, sağlayıcının yalnızca dinlenen olayları yükselterek ek yükü azaltmasını sağlar.

eventId, gibi WindowClosedEventbir AutomationEvent öğesinin Id değeriyle karşılaştırılabilir. komutunu kullanarak LookupByIdda elde AutomationEvent edebilirsiniz.

Şunlara uygulanır