共用方式為


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

備註

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

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

按鈕是用戶互動以執行動作的物件,例如對話方塊上的 [確定 ] 和 [ 取消 ] 按鈕。 按鈕控制項是公開的簡單控件,因為它會對應至使用者想要完成的單一命令。

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

必要的 UI 自動化樹狀結構

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

控制項檢視 內容檢視
按鈕

- 影像 (0 或更多)
- 文字 (0 或更多)
按鈕

必要的UI自動化屬性

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

UI 自動化屬性 價值觀 註釋
AcceleratorKeyProperty 請參閱備註。 Button 控制項通常必須支援快速鍵,讓使用者能夠從鍵盤快速執行它所代表的動作。
AutomationIdProperty 請參閱備註。 這個屬性的值在應用程式中的所有控件中必須是唯一的。
BoundingRectangleProperty 請參閱備註。 包含整個控制項的最外層矩形。
ClickablePointProperty 請參閱備註。 如果有周框,則支援 。 如果周框內的每個點都無法點選,而且您執行特製化的點擊測試,則覆寫並提供可點選的點。
ControlTypeProperty 按鈕 此值與所有使用者介面架構的值相同。
HelpTextProperty 請參閱備註。 說明文字可以指出啟動按鈕的最終結果。 這通常是透過工具提示呈現的相同類型資訊。
IsContentElementProperty Button 控件始終必須包含內容。
IsControlElementProperty Button 控件一律必須是控件。
IsKeyboardFocusableProperty 請參閱備註。 如果控制項可接收鍵盤焦點,就必定支援此屬性。
LabeledByProperty Null 按鈕控件會由其內容自我標記。
LocalizedControlTypeProperty 按鈕 對應至按鈕控制項類型的本地化字串。
NameProperty 請參閱備註。 按鈕控制件的名稱是用來為其加上標籤的文字。 每當影像用來標記按鈕時,都必須為按鈕的 Name 屬性提供替代文字。

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

下表列出所有按鈕控制項都必須支援的UI自動化控制件模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀

控制件模式 支援 註釋
IInvokeProvider 請參閱備註。 所有按鈕都應該支援叫用控件模式或切換控件模式。 當按鈕在使用者的要求下執行命令時,支援呼叫功能。 此命令對應至單一作業,例如剪下、複製、貼上或刪除。
IToggleProvider 請參閱備註。 所有按鈕都應該支援叫用控件模式或切換控件模式。 如果按鈕可以循環執行一系列最多三種狀態,則支援切換。 這通常被視為特定功能的開啟/關閉開關。
IExpandCollapseProvider 請參閱備註。 當按鈕放置為分割按鈕的子按鈕時,子按鈕可以支援 ExpandCollapse 模式,而不是叫用或切換模式。 ExpandCollapse 模式可用於開啟或關閉功能表或其他與按鈕元素相關聯的子結構。

必要的UI自動化事件

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

UI 自動化事件 支援 註釋
AutomationFocusChangedEvent 為必填項目 沒有
BoundingRectangleProperty 屬性變更事件。 為必填項目 沒有
IsOffscreenProperty 屬性變更事件。 為必填項目 沒有
IsEnabledProperty 屬性變更事件。 為必填項目 沒有
NameProperty 屬性變更事件。 為必填項目 沒有
StructureChangedEvent 為必填項目 沒有
InvokedEvent 視情況而定 如果控件支援 Invoke 控制項模式,它必須支援這個事件。
ToggleStateProperty 屬性變更事件。 視情況而定 如果控件支援切換控件模式,它必須支持這個事件。

另請參閱