共用方式為


Button 控制項類型的 UI 自動化支援

注意

本文件適用對象為 .NET Framework 開發人員,其想要使用 System.Windows.Automation 命名空間中定義的受控 UI 自動化類別。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:UI 自動化

本主題提供按鈕控制項類型的 UI 自動化支援相關資訊。 在 UI 自動化中,控制項類型是一組控制項條件,控制項必須符合條件才能使用 ControlTypeProperty 屬性。 這些條件包括 UI 自動化樹狀結構、UI 自動化屬性值、控制項模式與 UI 自動化事件的特定指導方針。

按鈕是可供使用者互動的物件,能在對話方塊執行如 [確定] 和 [取消] 按鈕等動作。 按鈕控制項的公開方式很簡單,因為它對應的是使用者想要完成的單一命令。

下列章節會定義按鈕控制項類型所需的 UI 自動化樹狀結構、屬性、控制項模式與事件。 UI 自動化需求適用於所有的按鈕控制項,無論是 Windows Presentation Foundation (WPF)、Win32 還是 Windows Forms 皆然。

必要的使用者介面自動化樹狀結構

下表描述與按鈕控制項相關的 UI 自動化樹狀結構的內容檢視與控制項檢視,並說明各檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀

控制項檢視 內容檢視
Button

- 影像 (0 個以上)
- 文字 (0 或更多)
Button

必要的使用者介面自動化屬性

下表列出的 UI 自動化屬性,其值或定義與實作按鈕控制項類型的控制項 (例如按鈕控制項) 特別有關。 如需 UI 自動化屬性的詳細資訊,請參閱用戶端的 UI 自動化屬性

使用者介面自動化屬性 備註
AcceleratorKeyProperty 請參閱備註。 按鈕控制項一般必須支援快速鍵,讓使用者可以從鍵盤快速執行它所代表的動作。
AutomationIdProperty 請參閱備註。 此屬性的值在應用程式中的所有控制項都不得重複。
BoundingRectangleProperty 請參閱備註。 包含整個控制項的最外層矩形。
ClickablePointProperty 請參閱備註。 如果有週框即受支援。 如果週框中沒有任何可點選的點,而且您執行的是特殊化點擊測試,則會覆寫並提供可點選的點。
ControlTypeProperty Button 此值與所有使用者介面架構的值相同。
HelpTextProperty 請參閱備註。 此說明文字可指出啟動按鈕的結果為何。 通常會是透過工具提示表示的相同類型資訊。
IsContentElementProperty True 按鈕控制項必須一律為內容。
IsControlElementProperty True 按鈕控制項必須一律為控制項。
IsKeyboardFocusableProperty 請參閱備註。 如果控制項可接收鍵盤焦點,就必定支援此屬性。
LabeledByProperty Null 按鈕控制項會自行將其內容設為標籤。
LocalizedControlTypeProperty 「按鈕」 對應到按鈕控制項類型的當地語系化字串。
NameProperty 請參閱備註。 按鈕控制項的名稱是用來設定其標籤的文字。 若使用影像設定按鈕的標籤,則必須為按鈕的 Name 屬性提供替代文字。

必要的使用者介面自動化控制項模式

下表列出所有按鈕控制項必須支援的 UI 自動化控制項模式。 如需控制項模式的詳細資訊,請參閱 UI Automation Control Patterns Overview

控制項模式 支援 備註
IInvokeProvider 請參閱備註。 所有按鈕都應該支援叫用控制項模式或切換控制項模式。 當按鈕執行使用者要求的命令時,便會支援叫用。 此命令對應於如「剪下」、「複製」、「貼上」或「刪除」等單一作業。
IToggleProvider 請參閱備註。 所有按鈕都應該支援叫用控制項模式或切換控制項模式。 若按鈕可以循環多達三種狀態時,則會支援切換。 這通常是指特定功能的開關切換。
IExpandCollapseProvider 請參閱備註。 當按鈕裝載為分割按鈕的子系時,子按鈕可能支援 ExpandCollapse 模式,而不是叫用或切換模式。 ExpandCollapse 模式可用來開啟或關閉功能表,或是與按鈕項目相關聯的其他子結構。

必要的使用者介面自動化事件

下表列出所有按鈕控制項必須支援的 UI 自動化控制項事件。 如需事件的詳細資訊,請參閱 UI Automation Events Overview

UI 自動化事件 支援 備註
AutomationFocusChangedEvent 必要
BoundingRectangleProperty 屬性變更事件。 必要
IsOffscreenProperty 屬性變更事件。 必要
IsEnabledProperty 屬性變更事件。 必要
NameProperty 屬性變更事件。 必要
StructureChangedEvent 必要
InvokedEvent 相依 如果此控制項支援叫用控制項模式,就必須支援這個事件。
ToggleStateProperty 屬性變更事件。 相依 如果此控制項支援切換控制項模式,就必須支援這個事件。

另請參閱