InvokePattern.Invoke Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sendet eine Anforderung zum Aktivieren eines Steuerelements und Initiieren der einzelnen eindeutigen Aktion.
public:
void Invoke();
public void Invoke ();
member this.Invoke : unit -> unit
Public Sub Invoke ()
Ausnahmen
Das Element unterstützt das InvokePattern-Steuerelementmuster nicht oder es ist ausgeblendet bzw. blockiert.
Das Element ist nicht aktiviert. Dies kann ausgelöst werden, wenn der Benutzeroberflächenautomatisierungs-Anbieter seine eigene Behandlung der IsEnabled-Eigenschaft implementiert hat.
Beispiele
Im folgenden Beispiel wird ein InvokePattern Steuerelementmuster aus einem Steuerelement abgerufen und die Invoke Methode aufgerufen.
///--------------------------------------------------------------------
/// <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
Hinweise
Anrufe, die Invoke sofort zurückgegeben werden sollen, ohne dass sie blockiert werden. Dieses Verhalten hängt jedoch vollständig von der Microsoft-Benutzeroberflächenautomatisierung-Anbieterimplementierung ab. In Szenarien, in denen beim Aufrufen Invoke ein Blockierungsproblem (z. B. ein modales Dialogfeld) verursacht wird, ist möglicherweise ein separater Hilfsthread erforderlich, um die Methode aufzurufen.