InvokePattern.Invoke Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Envoie une requête pour activer un contrôle et initier son action unique et non équivoque.
public:
void Invoke();
public void Invoke ();
member this.Invoke : unit -> unit
Public Sub Invoke ()
Exceptions
L’élément ne prend pas en charge le modèle de contrôle InvokePattern, ou est masqué ou bloqué.
L'élément n'est pas activé. Peut être déclenché quand un fournisseur UI Automation a implémenté sa propre gestion de la propriété IsEnabled.
Exemples
Dans l’exemple suivant, un InvokePattern modèle de contrôle est obtenu à partir d’un contrôle et la Invoke méthode est appelée.
///--------------------------------------------------------------------
/// <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
Remarques
Les appels à Invoke doivent revenir immédiatement sans blocage. Toutefois, ce comportement dépend entièrement de l’implémentation du fournisseur Microsoft UI Automation. Dans les scénarios où l’appel Invoke provoque un problème de blocage (par exemple, un dialogue modal), un thread d’assistance distinct peut être nécessaire pour appeler la méthode.