InvokePattern.Invoke Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir denetimi etkinleştirmek ve tek, kesin olmayan eylemini başlatmak için bir istek gönderir.
public:
void Invoke();
public void Invoke();
member this.Invoke : unit -> unit
Public Sub Invoke ()
Özel durumlar
öğesi denetim desenini InvokePattern desteklemez veya gizli veya engellenir.
öğesi etkinleştirilmedi. bir UI Otomasyonu sağlayıcısı IsEnabled özelliğinin kendi işlemesini uyguladığında tetiklenebilir.
Örnekler
Aşağıdaki örnekte bir InvokePattern denetim deseni bir denetimden alınır ve Invoke yöntemi çağrılır.
///--------------------------------------------------------------------
/// <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
Açıklamalar
çağrısı Invoke engellenmeden hemen döndürülmelidir. Ancak bu davranış tamamen Microsoft UI Otomasyonu sağlayıcı uygulamasına bağlıdır. Çağırmanın Invoke engelleme sorununa (kalıcı iletişim kutusu gibi) neden olduğu senaryolarda, yöntemini çağırmak için ayrı bir yardımcı iş parçacığı gerekebilir.