IRawElementProviderAdviseEvents.AdviseEventAdded(Int32, Int32[]) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当 UI 自动化客户端开始侦听特定的事件(包括属性更改事件)时通知 UI 自动化提供程序。
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 (如 )WindowClosedEvent的 AutomationEvent 进行比较。 还可以使用 LookupById获取 AutomationEvent 。