IRawElementProviderAdviseEvents.AdviseEventRemoved(Int32, Int32[]) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
UI 자동화 클라이언트가 속성 변경 이벤트를 비롯하여 특정 이벤트에 대한 수신 대기를 중지한 경우 UI 자동화 공급자에 이를 알립니다.
public:
void AdviseEventRemoved(int eventId, cli::array <int> ^ properties);
public void AdviseEventRemoved (int eventId, int[] properties);
abstract member AdviseEventRemoved : int * int[] -> unit
Public Sub AdviseEventRemoved (eventId As Integer, properties As Integer())
매개 변수
- eventId
- Int32
제거되는 이벤트의 식별자입니다.
- properties
- Int32[]
제거되는 속성의 식별자이거나, 제거되는 이벤트 수신기가 속성 이벤트를 수신 대기하지 않는 경우 null
입니다.
예제
다음 예제에서는 구독한 항목 목록에서 속성 변경 내용을 제거합니다.
void IRawElementProviderAdviseEvents.AdviseEventRemoved(int eventId,
int[] properties)
{
if (eventId == AutomationElement.AutomationPropertyChangedEvent.Id)
{
Console.WriteLine("Property changes no longer subscribed to:");
foreach (int i in properties)
{
AutomationProperty property = AutomationProperty.LookupById(i);
// Remove from an ArrayList.
subscribedProperties.Remove(property);
}
}
}
Sub AdviseEventRemoved(ByVal eventId As Integer, ByVal properties() As Integer) _
Implements IRawElementProviderAdviseEvents.AdviseEventRemoved
If eventId = AutomationElement.AutomationPropertyChangedEvent.Id Then
For Each i As Integer In properties
Dim autoProperty As AutomationProperty = AutomationProperty.LookupById(i)
' Remove from ArrayList.
subscribedProperties.Remove(autoProperty)
Next
End If
End Sub
설명
이 메서드를 사용하면 UI 자동화 공급자가 더 이상 수신 대기되지 않는 이벤트를 발생시키지 않음으로써 오버헤드를 줄일 수 있습니다.
와 eventId
같은 의 AutomationEventWindowClosedEvent를 Id 비교할 수 있습니다. 를 사용하여 LookupById를 AutomationEvent 가져올 수도 있습니다.
적용 대상
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET