InvokePattern.Invoke Metodo

Definizione

Invia una richiesta per attivare un controllo e avviare la singola azione non ambigua.

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

Eccezioni

L'elemento non supporta il InvokePattern pattern di controllo o è nascosto o bloccato.

L'elemento non è abilitato. Può essere generato quando un provider di Automazione interfaccia utente ha implementato la propria gestione della proprietà IsEnabled.

Esempio

Nell'esempio seguente viene ottenuto un InvokePattern pattern di controllo da un controllo e viene chiamato il Invoke metodo .

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

Commenti

Le chiamate a Invoke devono restituire immediatamente senza bloccare. Tuttavia, questo comportamento dipende interamente dall'implementazione del provider Microsoft Automazione interfaccia utente. Negli scenari in cui la chiamata Invoke causa un problema di blocco ,ad esempio una finestra di dialogo modale, potrebbe essere necessario un thread helper separato per chiamare il metodo .

Si applica a

Vedi anche