Auslösen von Ereignissen aus einem Benutzeroberflächenautomatisierungs-Anbieter
Hinweis |
---|
Diese Dokumentation ist für .NET Framework-Entwickler vorgesehen, die die verwalteten UI Automation-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind.Aktuelle Informationen zu UI Automation finden Sie unter Windows Automation API: UI Automation. |
Dieses Thema enthält Beispielcode, der anzeigt, wie ein Ereignis eines Benutzeroberflächenautomatisierungs-Anbieters ausgelöst wird.
Beispiel
Im folgenden Beispiel wird in der Implementierung eines benutzerdefinierten Schaltflächen-Steuerelements ein UI Automation-Ereignis ausgelöst. Die Implementierung ermöglicht einer Benutzeroberflächenautomatisierungs-Client-Anwendung die Simulation eines Klicks auf die Schaltfläche.
Um unnötige Verarbeitungsvorgänge zu vermeiden, wird im Beispiel ClientsAreListening überprüft, um zu ermitteln, ob Ereignisse ausgelöst werden sollen.
''' <summary>
''' Responds to a button click, regardless of whether it was caused by a
''' mouse or keyboard click or by InvokePattern.Invoke.
''' </summary>
Private Sub OnCustomButtonClicked()
'' TODO Perform program actions invoked by the control.
'' Raise an event.
If AutomationInteropProvider.ClientsAreListening Then
Dim args As AutomationEventArgs = _
New AutomationEventArgs(InvokePatternIdentifiers.InvokedEvent)
AutomationInteropProvider.RaiseAutomationEvent( _
InvokePatternIdentifiers.InvokedEvent, Me, args)
End If
End Sub
/// <summary>
/// Responds to a button click, regardless of whether it was caused by a mouse or
/// keyboard click or by InvokePattern.Invoke.
/// </summary>
private void OnCustomButtonClicked()
{
// TODO Perform program actions invoked by the control.
// Raise an event.
if (AutomationInteropProvider.ClientsAreListening)
{
AutomationEventArgs args = new AutomationEventArgs(InvokePatternIdentifiers.InvokedEvent);
AutomationInteropProvider.RaiseAutomationEvent(InvokePatternIdentifiers.InvokedEvent, this, args);
}
}
Siehe auch
Konzepte
Übersicht über die Benutzeroberflächenautomatisierungs-Anbieter