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)
'Declaration Public Delegate Sub AutomationEventHandler ( _ sender As Object, _ e As AutomationEventArgs _ ) 'Usage Dim instance As New AutomationEventHandler(AddressOf HandlerMethod)
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
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.