Bagikan melalui


InvokePattern.Invoke Metode

Definisi

Mengirim permintaan untuk mengaktifkan kontrol dan memulai tindakan tunggal yang tidak ambigu.

public:
 void Invoke();
public void Invoke ();
member this.Invoke : unit -> unit
Public Sub Invoke ()

Pengecualian

Elemen tidak mendukung InvokePattern pola kontrol atau disembunyikan atau diblokir.

Elemen tidak diaktifkan. Dapat dinaikkan ketika penyedia Automation UI telah menerapkan penanganan IsEnabled propertinya sendiri.

Contoh

Dalam contoh InvokePattern berikut, pola kontrol diperoleh dari kontrol dan Invoke metode dipanggil.

///--------------------------------------------------------------------
/// <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

Keterangan

Panggilan ke Invoke harus segera kembali tanpa memblokir. Namun, perilaku ini sepenuhnya tergantung pada implementasi penyedia Microsoft UI Automation. Dalam skenario di mana panggilan Invoke menyebabkan masalah pemblokiran (seperti dialog modal) utas pembantu terpisah mungkin diperlukan untuk memanggil metode .

Berlaku untuk

Lihat juga