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)
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. AutomationElement ElementSubscribeButton; AutomationEventHandler UIAeventHandler; /// <summary> /// Register an event handler for InvokedEvent on the specified element. /// </summary> /// <param name="elementButton">The automation element.</param> public void SubscribeToInvoke(AutomationElement elementButton) { if (elementButton != null) { Automation.AddAutomationEventHandler(InvokePattern.InvokedEvent, elementButton, TreeScope.Element, UIAeventHandler = new AutomationEventHandler(OnUIAutomationEvent)); ElementSubscribeButton = elementButton; } } /// <summary> /// AutomationEventHandler delegate. /// </summary> /// <param name="src">Object that raised the event.</param> /// <param name="e">Event arguments.</param> private void OnUIAutomationEvent(object src, AutomationEventArgs e) { // Make sure the element still exists. Elements such as tooltips // can disappear before the event is processed. AutomationElement sourceElement; try { sourceElement = src as AutomationElement; } catch (ElementNotAvailableException) { return; } if (e.EventId == InvokePattern.InvokedEvent) { // TODO Add handling code. } else { // TODO Handle any other events that have been subscribed to. } } private void ShutdownUIA() { if (UIAeventHandler != null) { Automation.RemoveAutomationEventHandler(InvokePattern.InvokedEvent, ElementSubscribeButton, UIAeventHandler); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.