Sdílet prostřednictvím


InvokePattern.Invoke Metoda

Definice

Odešle požadavek na aktivaci ovládacího prvku a inicializaci jeho jediné jednoznačné akce.

public:
 void Invoke();
public void Invoke ();
member this.Invoke : unit -> unit
Public Sub Invoke ()

Výjimky

Element nepodporuje InvokePattern řídicí vzor nebo je skrytý nebo blokovaný.

Prvek není povolen. Může být vyvolána, když zprostředkovatel automatizace uživatelského rozhraní implementuje vlastní zpracování IsEnabled vlastnosti.

Příklady

V následujícím příkladu InvokePattern se z ovládacího prvku získá vzor ovládacího prvku a volá se Invoke metoda .

///--------------------------------------------------------------------
/// <summary>
/// Obtains an InvokePattern control pattern from a control
/// and calls the InvokePattern.Invoke() method on the control.
/// </summary>
/// <param name="targetControl">
/// The control of interest.
/// </param>
///--------------------------------------------------------------------
private void InvokeControl(AutomationElement targetControl)
{
    InvokePattern invokePattern = null;

    try
    {
        invokePattern =
            targetControl.GetCurrentPattern(InvokePattern.Pattern)
            as InvokePattern;
    }
    catch (ElementNotEnabledException)
    {
        // Object is not enabled
        return;
    }
    catch (InvalidOperationException)
    {
        // object doesn't support the InvokePattern control pattern
        return;
    }

    invokePattern.Invoke();
}
'''--------------------------------------------------------------------
''' <summary>
''' Obtains an InvokePattern control pattern from a control
''' and calls the InvokePattern.Invoke() method on the control.
''' </summary>
''' <param name="targetControl">
''' The control of interest.
''' </param>
'''--------------------------------------------------------------------
Private Sub InvokeControl(ByVal targetControl As AutomationElement) 
    Dim invokePattern As InvokePattern = Nothing
    
    Try
        invokePattern = _
        DirectCast(targetControl.GetCurrentPattern(invokePattern.Pattern), _
        InvokePattern)
    Catch e As ElementNotEnabledException
        ' Object is not enabled.
        Return
    Catch e As InvalidOperationException
        ' Object doesn't support the InvokePattern control pattern
        Return
    End Try
    
    invokePattern.Invoke()

End Sub

Poznámky

Volání do by se Invoke měla okamžitě vrátit bez blokování. Toto chování je však zcela závislé na implementaci zprostředkovatele Automatizace uživatelského rozhraní Microsoft. Ve scénářích, kde volání Invoke způsobuje problém blokování (například modální dialogové okno), může být k volání metody vyžadováno samostatné pomocné vlákno.

Platí pro

Viz také