IRawElementProviderAdviseEvents.AdviseEventRemoved(Int32, Int32[]) メソッド

定義

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、 などの WindowClosedEventAutomationEventId比較できます。 を使用LookupByIdして をAutomationEvent取得することもできます。

適用対象