This documentation is archived and is not being maintained.

AutomationEventHandler Delegate

Represents the method implemented by the UI Automation client application to handle an event raised by a UI Automation provider.

Namespace:  System.Windows.Automation
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.

.NET Framework

Supported in: 3.5, 3.0
Show: