Partager via


Déclencher des événements à partir d'un fournisseur UI Automation

RemarqueRemarque

Cette documentation s'adresse aux développeurs .NET Framework qui veulent utiliser les classes UI Automation managées définies dans l'espace de noms System.Windows.Automation.Pour obtenir les informations les plus récentes sur UI Automation, consultez API Windows Automation : UI Automation (page éventuellement en anglais).

Cette rubrique contient un exemple de code qui montre comment déclencher un événement depuis un fournisseur UI Automation.

Exemple

Dans l'exemple suivant, un événement UI Automation est déclenché dans l'implémentation d'un contrôle bouton personnalisé. L'implémentation permet à une application du client UI Automation de simuler le clic d'un bouton.

Pour éviter un traitement inutile, l'exemple vérifie ClientsAreListening pour savoir si des événements doivent être déclenchés.

''' <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);
    }
}

Voir aussi

Concepts

Vue d'ensemble des fournisseurs UI Automation