WindowPattern.WindowClosedEvent Champ

Définition

Identifie l’événement qui est déclenché quand une fenêtre est fermée.

public: static initonly System::Windows::Automation::AutomationEvent ^ WindowClosedEvent;
public static readonly System.Windows.Automation.AutomationEvent WindowClosedEvent;
 staticval mutable WindowClosedEvent : System.Windows.Automation.AutomationEvent
Public Shared ReadOnly WindowClosedEvent As AutomationEvent 

Valeur de champ

Exemples

Dans l’exemple suivant, les écouteurs d’événements sont déclarés et un AutomationEventHandler délégué est spécifié pour WindowOpenedEvent les événements et WindowClosedEvent .

///--------------------------------------------------------------------
/// <summary>
/// Register for events of interest.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
///--------------------------------------------------------------------
private void RegisterForAutomationEvents(
    AutomationElement targetControl)
{
    AutomationEventHandler eventHandler = 
        new AutomationEventHandler(OnWindowOpenOrClose);
    Automation.AddAutomationEventHandler(
        WindowPattern.WindowClosedEvent, 
        targetControl, TreeScope.Element, eventHandler);
    Automation.AddAutomationEventHandler(
        WindowPattern.WindowOpenedEvent, 
        targetControl, TreeScope.Element, eventHandler);
}

///--------------------------------------------------------------------
/// <summary>
/// AutomationEventHandler delegate.
/// </summary>
/// <param name="src">Object that raised the event.</param>
/// <param name="e">Event arguments.</param>
///--------------------------------------------------------------------
private void OnWindowOpenOrClose(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 == WindowPattern.WindowOpenedEvent)
    {
        // TODO: event handling
        return;
    }
    if (e.EventId == WindowPattern.WindowClosedEvent)
    {
        // TODO: event handling
        return;
    }
}
'''------------------------------------------------------------------------
''' <summary>
''' Register for events of interest.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
'''------------------------------------------------------------------------
Private Sub RegisterForEvents(ByVal targetControl As AutomationElement)
    Dim eventHandler As AutomationEventHandler = AddressOf OnWindowOpenOrClose
    Automation.AddAutomationEventHandler(WindowPattern.WindowClosedEvent, _
        targetControl, TreeScope.Element, eventHandler)
    Automation.AddAutomationEventHandler(WindowPattern.WindowOpenedEvent, _
        targetControl, TreeScope.Element, eventHandler)
End Sub

'''------------------------------------------------------------------------
''' <summary>
''' AutomationEventHandler delegate.
''' </summary>
''' <param name="src">Object that raised the event.</param>
''' <param name="e">Event arguments.</param>
'''------------------------------------------------------------------------
Private Sub OnWindowOpenOrClose(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
        Return
    End Try

    If e.EventId Is WindowPattern.WindowOpenedEvent Then
        ' TODO: event handling
        Return
    End If
    If e.EventId Is WindowPattern.WindowClosedEvent Then
        ' TODO: event handling
        Return
    End If
End Sub

Remarques

Une application cliente peut avoir besoin d’écouter WindowClosedEvent à partir d’un objet mis en cache, car une fenêtre est supprimée de la structure de vue de contrôle UI Automation immédiatement après la fermeture.

Cet identificateur est utilisé par les applications clientes UI Automation. Les fournisseurs UI Automation doivent utiliser le champ équivalent dans WindowPatternIdentifiers.

S’applique à

Voir aussi