InvokePattern.Invoke Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Invia una richiesta per l'attivazione di un controllo e l'avvio dell'azione singola e non ambigua corrispondente.
public:
void Invoke();
public void Invoke ();
member this.Invoke : unit -> unit
Public Sub Invoke ()
Eccezioni
L'elemento non supporta il pattern di controllo InvokePattern oppure è nascosto o bloccato.
Elemento non abilitato. L'eccezione può essere generata quando un provider di automazione interfaccia utente ha implementato la propria gestione della proprietà IsEnabled.
Esempio
Nell'esempio seguente viene ottenuto un InvokePattern modello 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 di Automazione interfaccia utente Microsoft. Negli scenari in cui la chiamata Invoke causa un problema di blocco (ad esempio una finestra di dialogo modale) può essere necessario un thread helper separato per chiamare il metodo.