WindowClosedEventArgs.GetRuntimeId Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Načte identifikátor modulu runtime model UI Automation (ID) přidružený k této události.
public:
cli::array <int> ^ GetRuntimeId();
public int[] GetRuntimeId ();
member this.GetRuntimeId : unit -> int[]
Public Function GetRuntimeId () As Integer()
Návraty
ID modulu runtime model UI Automation okna, ve kterém byla událost vyvolána.
Příklady
V následujícím příkladu obslužná rutina události zavřeného okna zjistí, zda je ID modulu runtime zavřeného okna v seznamu ID otevřených oken. Pokud id modulu runtime existuje, odebere se ze seznamu.
/// <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
Poznámky
Když vaše aplikace obdrží událost zavřené okno, sender
parametr obslužné rutiny události nelze použít k získání informací o zavřeném okně, protože odpovídající prvek Microsoft model UI Automation již není platný. Umožňuje GetRuntimeId spárovat okno se známým identifikátorem.