共用方式為


IRawElementProviderAdviseEvents.AdviseEventRemoved(Int32, Int32[]) 方法

定義

使用者介面自動化用戶端停止接聽特定的事件時,包括屬性變更的事件,通知使用者介面自動化提供者。

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可以與 Id 這類 WindowClosedEventAutomationEvent 比較。 您也可以使用 LookupById 取得 AutomationEvent

適用於