다음을 통해 공유


IRawElementProviderAdviseEvents.AdviseEventAdded(Int32, Int32[]) 메서드

정의

UI 자동화 클라이언트가 속성 변경 이벤트를 비롯하여 특정 이벤트에 대한 수신 대기를 시작한 경우 UI 자동화 공급자에 이를 알립니다.

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

매개 변수

eventId
Int32

추가되는 이벤트의 식별자입니다.

properties
Int32[]

추가되는 속성의 식별자이거나, 추가되는 이벤트 수신기가 속성 이벤트를 수신 대기하지 않는 경우 null입니다.

예제

다음 예제에서는 구독된 속성 변경 내용 목록에 를 추가합니다.

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

설명

이 메서드를 사용하면 수신 대기 중인 이벤트만 발생시켜 공급자가 오버헤드를 줄일 수 있습니다.

eventId 과 같은 WindowClosedEventAutomationEvent 와 비교할 Id 수 있습니다. 를 사용하여 LookupByIdAutomationEvent 가져올 수도 있습니다.

적용 대상