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
、 などの WindowClosedEventの AutomationEvent とId比較できます。 を使用LookupByIdして をAutomationEvent取得することもできます。
適用対象
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET