IRawElementProviderAdviseEvents.AdviseEventAdded(Int32, Int32[]) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Уведомляет поставщик модели автоматизации пользовательского интерфейса, когда клиент модели автоматизации пользовательского интерфейса начинает прослушивание определенного события, включая событие изменения свойства.
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
сравнить с типом Id объекта , AutomationEvent например WindowClosedEvent. Можно также получить с AutomationEvent помощью LookupById.