共用方式為


UI 自動化提供者引發事件

注意事項注意事項

這份文件適用於想要使用 System.Windows.Automation 命名空間中定義之 Managed UI Automation 類別的 .NET Framework 開發人員。如需 UI Automation 的最新資訊,請參閱 Windows Automation API:使用者介面自動化 (英文)。

本主題包含範例程式碼,說明如何從 UI 自動化提供者引發事件。

範例

在下面的範例中,自訂按鈕控制項的實作中會引發 UI Automation事件。 這項實作可讓 UI 自動化用戶端應用程式模擬按鈕的動作。

為了避免不必要的處理,本範例會檢查 ClientsAreListening 以判斷是否要引發事件。

''' <summary>
''' Responds to a button click, regardless of whether it was caused by a 
''' mouse or keyboard click or by InvokePattern.Invoke. 
''' </summary>
Private Sub OnCustomButtonClicked()

    '' TODO  Perform program actions invoked by the control.

    '' Raise an event.
    If AutomationInteropProvider.ClientsAreListening Then
        Dim args As AutomationEventArgs = _
            New AutomationEventArgs(InvokePatternIdentifiers.InvokedEvent)
        AutomationInteropProvider.RaiseAutomationEvent( _
            InvokePatternIdentifiers.InvokedEvent, Me, args)
    End If
End Sub
/// <summary>
/// Responds to a button click, regardless of whether it was caused by a mouse or
/// keyboard click or by InvokePattern.Invoke. 
/// </summary>
private void OnCustomButtonClicked()
{
    // TODO  Perform program actions invoked by the control.

    // Raise an event.
    if (AutomationInteropProvider.ClientsAreListening)
    {
        AutomationEventArgs args = new AutomationEventArgs(InvokePatternIdentifiers.InvokedEvent);
        AutomationInteropProvider.RaiseAutomationEvent(InvokePatternIdentifiers.InvokedEvent, this, args);
    }
}

請參閱

概念

UI 自動化提供者概觀