InvokePattern.Invoke Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Odešle žádost o aktivaci ovládacího prvku a zahájí jeho jedinou jednoznačnou akci.
public:
void Invoke();
public void Invoke();
member this.Invoke : unit -> unit
Public Sub Invoke ()
Výjimky
Prvek nepodporuje InvokePattern řídicí vzor nebo je skrytý nebo blokovaný.
Prvek není povolen. Může být vyvolána, když poskytovatel model UI Automation implementoval vlastní zpracování vlastnosti IsEnabled.
Příklady
V následujícím příkladu se InvokePattern vzor ovládacího prvku získá z ovládacího prvku a Invoke volá se 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í, která se Invoke mají vrátit okamžitě bez blokování. Toto chování je však zcela závislé na implementaci poskytovatele Microsoft model UI Automation. Ve scénářích, kdy volání Invoke způsobí blokující problém (například modální dialogové okno), může být pro volání metody vyžadováno samostatné pomocné vlákno.