WindowPattern.WindowClosedEvent フィールド

定義

ウィンドウを閉じたときに発生するイベントを識別します。Identifies the event that is raised when a window is closed.

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 

フィールド値

AutomationEvent

次の例では、イベントリスナーが宣言され、 AutomationEventHandler イベントとイベントにデリゲートが指定されてい WindowOpenedEvent WindowClosedEvent ます。In the following example, event listeners are declared and an AutomationEventHandler delegate is specified for WindowOpenedEvent and WindowClosedEvent events.

///--------------------------------------------------------------------
/// <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

注釈

クライアントアプリケーションは、 WindowClosedEvent ウィンドウが UI オートメーションUI Automation 閉じられた直後にコントロールビューの構造から削除されるため、キャッシュされたオブジェクトをリッスンすることが必要になる場合があります。A client application may need to listen for WindowClosedEvent from a cached object since a window is removed from the UI オートメーションUI Automation control view structure immediately upon being closed.

この識別子は、UI オートメーションクライアントアプリケーションによって使用されます。This identifier is used by UI Automation client applications. UI オートメーションプロバイダーでは、の同等のフィールドを使用する必要があり WindowPatternIdentifiers ます。UI Automation providers should use the equivalent field in WindowPatternIdentifiers.

適用対象

こちらもご覧ください