Sdílet prostřednictvím


WindowPattern.WaitForInputIdle(Int32) Metoda

Definice

Způsobí blokování volajícího kódu po zadanou dobu nebo dokud přidružený proces nepřejde do stavu nečinnosti, podle toho, co se dokončí dříve.

public:
 bool WaitForInputIdle(int milliseconds);
public bool WaitForInputIdle (int milliseconds);
member this.WaitForInputIdle : int -> bool
Public Function WaitForInputIdle (milliseconds As Integer) As Boolean

Parametry

milliseconds
Int32

Doba čekání na nečinnost přidruženého procesu v milisekundách Maximum je Int32.MaxValue.

Návraty

true pokud okno přešlo do stavu nečinnosti; false pokud došlo k vypršení časového limitu.

Výjimky

Parametr předaný v není platné číslo.

Příklady

V následujícím příkladu WindowPattern je získán řídicí vzor z objektu AutomationElement a používá WaitForInputIdle k potvrzení, že je prvek připravený k interakci uživatele v přiměřeném čase.

///--------------------------------------------------------------------
/// <summary>
/// Obtains a WindowPattern control pattern from an automation element.
/// </summary>
/// <param name="targetControl">
/// The automation element of interest.
/// </param>
/// <returns>
/// A WindowPattern object.
/// </returns>
///--------------------------------------------------------------------
private WindowPattern GetWindowPattern(AutomationElement targetControl)
{
    WindowPattern windowPattern = null;

    try
    {
        windowPattern =
            targetControl.GetCurrentPattern(WindowPattern.Pattern)
            as WindowPattern;
    }
    catch (InvalidOperationException)
    {
        // object doesn't support the WindowPattern control pattern
        return null;
    }
    // Make sure the element is usable.
    if (false == windowPattern.WaitForInputIdle(10000))
    {
        // Object not responding in a timely manner
        return null;
    }
    return windowPattern;
}
'''------------------------------------------------------------------------
''' <summary>
''' Obtains a WindowPattern control pattern from an automation element.
''' </summary>
''' <param name="targetControl">
''' The automation element of interest.
''' </param>
''' <returns>
''' A WindowPattern object.
''' </returns>
'''------------------------------------------------------------------------
Private Function GetWindowPattern(ByVal targetControl As AutomationElement) As WindowPattern
    Dim windowPattern As WindowPattern = Nothing

    Try
        windowPattern = DirectCast( _
        targetControl.GetCurrentPattern(windowPattern.Pattern), _
        WindowPattern)
    Catch
        ' object doesn't support the WindowPattern control pattern
        Return Nothing
    End Try
    ' Make sure the element is usable.
    If False = windowPattern.WaitForInputIdle(10000) Then
        ' Object not responding in a timely manner
        Return Nothing
    End If
    Return windowPattern
End Function 'GetWindowPattern

Poznámky

Tato metoda se obvykle používá ve spojení se zpracováním .WindowOpenedEvent

Implementace závisí na podkladové aplikační architektuře; Proto se tato metoda může vrátit nějakou dobu poté, co je okno připraveno pro vstup uživatele. Volající kód by neměl spoléhat na tuto metodu, aby přesně zjistil, kdy se okno stalo nečinné.

Platí pro