共用方式為


功能表控制件類型的UI自動化支援

備註

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

本主題提供功能表控制件類型的Microsoft UI自動化支持相關信息。 它會描述控制件Microsoft UI 自動化樹狀結構,並提供特定控件案例的屬性和控件模式。

功能表控制項允許階層式組織與命令和事件處理程式相關聯的專案。 在一般Microsoft Windows 應用程式中,功能表欄包含數個功能表按鈕(例如 檔案[編輯] 和 [視窗],而每個功能表按鈕都會顯示功能表。 功能表包含功能表項集合(例如 [新增][開啟] 和 [關閉]),可以展開以顯示其他功能表項,或在單擊時執行特定動作。

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

必要的 UI 自動化樹狀結構

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

控制項檢視 內容檢視
菜單

- 選單項目 (1 或多個)
不適用(除非選單控制項為非選單項目之物件的父功能表)

- 選單項目 (1 或多個)

功能表控件一律會出現在控件檢視和UI自動化樹狀結構的內容檢視中。 菜单控制类型应该在其信息所涉及的控件下面显示。 使用者介面自動化客戶端必須接聽 MenuOpenedEvent 以確保它們一致地取得功能表控制件所傳達的資訊。 作功能表控件是特殊案例。 它們會顯示為桌面的子元素。

必要的UI自動化屬性

下表列出UI自動化屬性,其值或定義與功能表控件類型特別相關。 如需UI自動化屬性的詳細資訊,請參閱 用戶端的UI自動化屬性

UI 自動化屬性 價值觀 註釋
NameProperty 不支援 功能表控制項不需要設定 Name 屬性。
LabeledByProperty Null 一般功能表控件不會預期任何標籤。
ControlTypeProperty 菜單 此值與所有使用者介面架構的值相同。
IsContentElementProperty 選單控制項不包含在 UI 自動化樹狀結構的內容檢視中。
IsControlElementProperty 功能表控件一律包含在UI自動化樹狀結構的控件檢視中。

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

功能表控制項類型不需要控制項模式。

必要的UI自動化事件

功能表控件在畫面上出現時必須觸發 MenuOpenedEventMenuOpenedEvent將包含控件的文字。 當功能表從畫面消失時,必須提升MenuClosedEvent

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

UI 自動化事件 支援/值 註釋
MenuOpenedEvent 為必填項目 沒有
MenuClosedEvent 為必填項目 沒有
BoundingRectangleProperty 屬性變更事件。 為必填項目 沒有
IsOffscreenProperty 屬性變更事件。 為必填項目 沒有
IsEnabledProperty 屬性變更事件。 為必填項目 沒有
AutomationFocusChangedEvent 為必填項目 沒有
StructureChangedEvent 為必填項目 沒有

另請參閱