Aracılığıyla paylaş


WindowPattern.WaitForInputIdle(Int32) Yöntem

Tanım

Çağrı kodunun belirtilen süre boyunca veya ilişkili işlem boşta duruma girene kadar (hangisi önce tamamlanırsa) engellenmesine neden olur.

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

Parametreler

milliseconds
Int32

İlişkili işlemin boşta olmasını beklemek için milisaniye cinsinden süre. Maksimum değer Int32.MaxValue değeridir.

Döndürülenler

true pencere boşta durumuna geçtiyse; false zaman aşımı oluştuysa.

Özel durumlar

geçirilen parametre geçerli bir sayı değil.

Örnekler

Aşağıdaki örnekte, öğesinden AutomationElement bir WindowPattern denetim deseni elde edilir ve öğesinin makul bir süre içinde kullanıcı etkileşimi için hazır olduğunu onaylamak için kullanırWaitForInputIdle.

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

Açıklamalar

Bu yöntem genellikle bir WindowOpenedEventişleme ile birlikte kullanılır.

Uygulama, temel alınan uygulama çerçevesine bağlıdır; bu nedenle bu yöntem, pencere kullanıcı girişi için hazır olduktan sonra bir süre döndürebilir. Çağıran kod, pencerenin ne zaman boşta olduğunu tam olarak belirlemek için bu yönteme güvenmemelidir.

Şunlara uygulanır