AutomationEventHandler Delegate
Represents the method implemented by the UI Automation client application to handle an event raised by a UI Automation provider.
Assembly: UIAutomationTypes (in UIAutomationTypes.dll)
Parameters
- sender
-
Type:
System.Object
The object that raised the event.
- e
-
Type:
System.Windows.Automation.AutomationEventArgs
Information about the event.
Use an AutomationEventHandler delegate to specify the method that is called by a client to handle UI Automation events.
The AutomationElement represented by sender might not have any cached properties or patterns, depending on whether the application subscribed to this event while a CacheRequest was active.
The following example shows how to subscribe to and handle an event.
' Member variables. Private ElementSubscribeButton As AutomationElement Private UIAeventHandler As AutomationEventHandler ''' <summary> ''' Register an event handler for InvokedEvent on the specified element. ''' </summary> ''' <param name="elementButton">The automation element.</param> Public Sub SubscribeToInvoke(ByVal elementButton As AutomationElement) If (elementButton IsNot Nothing) Then UIAeventHandler = New AutomationEventHandler(AddressOf OnUIAutomationEvent) Automation.AddAutomationEventHandler(InvokePattern.InvokedEvent, elementButton, _ TreeScope.Element, UIAeventHandler) ElementSubscribeButton = elementButton End If End Sub 'SubscribeToInvoke ''' <summary> ''' AutomationEventHandler delegate. ''' </summary> ''' <param name="src">Object that raised the event.</param> ''' <param name="e">Event arguments.</param> Private Sub OnUIAutomationEvent(ByVal src As Object, ByVal e As AutomationEventArgs) ' Make sure the element still exists. Elements such as tooltips can disappear ' before the event is processed. Dim sourceElement As AutomationElement Try sourceElement = DirectCast(src, AutomationElement) Catch ex As ElementNotAvailableException Exit Sub End Try If e.EventId Is InvokePattern.InvokedEvent Then ' TODO Add handling code. Else End If ' TODO Handle any other events that have been subscribed to. Console.WriteLine("Event: " & e.EventId.ProgrammaticName) End Sub 'OnUIAutomationEvent Private Sub ShutdownUIA() If (UIAeventHandler IsNot Nothing) Then Automation.RemoveAutomationEventHandler(InvokePattern.InvokedEvent, ElementSubscribeButton, UIAeventHandler) End If End Sub 'ShutdownUIA
Available since 3.0