WindowClosedEventArgs.GetRuntimeId Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den Benutzeroberflächenautomatisierung Laufzeitbezeichner (ID) ab, der diesem Ereignis zugeordnet ist.
public:
cli::array <int> ^ GetRuntimeId();
public int[] GetRuntimeId ();
member this.GetRuntimeId : unit -> int[]
Public Function GetRuntimeId () As Integer()
Gibt zurück
- Int32[]
Die Benutzeroberflächenautomatisierung Laufzeit-ID des Fensters, auf dem das Ereignis ausgelöst wurde.
Beispiele
Im folgenden Beispiel ermittelt der Handler für das fensterfreie Ereignis, ob sich die Laufzeit-ID des geschlossenen Fensters in einer Liste der IDs geöffneter Fenster befindet. Wenn die Laufzeit-ID vorhanden ist, wird sie aus der Liste entfernt.
/// <summary>
/// Handles window-closed events. Removes the window from the top-level window list.
/// </summary>
/// <param name="sender">Object that raised the event.</param>
/// <param name="e">Event arguments.</param>
/// <remarks>
/// runtimteIds is an ArrayList that contains the runtime IDs of all top-level windows.
/// </remarks>
private void WindowClosedHandler(object sender, AutomationEventArgs e)
{
WindowClosedEventArgs windowEventArgs = (WindowClosedEventArgs)e;
int[] runtimeIdentifiers = windowEventArgs.GetRuntimeId();
int index = RuntimeIdListed(runtimeIdentifiers, savedRuntimeIds);
if (index >= 0)
{
savedRuntimeIds.RemoveAt(index);
Console.WriteLine("Window closed.");
}
}
/// <summary>
/// Ascertains whether the window is in the list.
/// </summary>
/// <param name="rid">Runtime ID of the window.</param>
/// <returns>Index of the ID in the list, or -1 if it is not listed.</returns>
/// <remarks>
/// runtimteIds is an ArrayList that contains the runtime IDs of all top-level windows.
/// </remarks>
private int RuntimeIdListed(int[] runtimeId, ArrayList runtimeIds)
{
for (int x = 0; x < runtimeIds.Count; x++)
{
int[] listedId = (int[])runtimeIds[x];
if (Automation.Compare(listedId, runtimeId))
{
return x;
}
}
return -1;
}
''' <summary>
''' Handles window-closed events. Removes the window from the top-level window list.
''' </summary>
''' <param name="sender">Object that raised the event.</param>
''' <param name="e">Event arguments.</param>
''' <remarks>
''' runtimteIds is an ArrayList that contains the runtime IDs of all top-level windows.
''' </remarks>
Private Sub WindowClosedHandler(ByVal sender As Object, ByVal e As AutomationEventArgs)
Dim windowEventArgs As WindowClosedEventArgs = CType(e, WindowClosedEventArgs)
Dim runtimeIdentifiers As Integer() = windowEventArgs.GetRuntimeId()
Dim index As Integer = RuntimeIdListed(runtimeIdentifiers, savedRuntimeIds)
If index >= 0 Then
savedRuntimeIds.RemoveAt(index)
Console.WriteLine("Window closed.")
End If
End Sub
''' <summary>
''' Ascertains whether the window is in the list.
''' </summary>
''' <param name="rid">Runtime ID of the window.</param>
''' <returns>Index of the ID in the list, or -1 if it is not listed.</returns>
''' <remarks>
''' runtimteIds is an ArrayList that contains the runtime IDs of all top-level windows.
''' </remarks>
Private Function RuntimeIdListed(ByVal runtimeId() As Integer, ByVal runtimeIds As ArrayList) As Integer
Dim x As Integer
For x = 0 To runtimeIds.Count - 1
Dim listedId As Integer() = CType(runtimeIds(x), Integer())
If Automation.Compare(listedId, runtimeId) Then
Return x
End If
Next x
Return - 1
End Function 'RuntimeIdListed
Hinweise
Wenn Ihre Anwendung ein fensterfreies Ereignis empfängt, kann der Parameter des Ereignishandlers nicht verwendet werden, um Informationen über das Fenster abzurufen, das geschlossen ist, da das sender
entsprechende Microsoft-Benutzeroberflächenautomatisierung-Element nicht mehr gültig ist. Verwenden Sie die Verwendung GetRuntimeId , um dem Fenster mit einem bekannten Bezeichner zu entsprechen.