備註
本檔適用於想要使用 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自動化事件
功能表控件在畫面上出現時必須觸發 MenuOpenedEvent
。
MenuOpenedEvent
將包含控件的文字。 當功能表從畫面消失時,必須提升MenuClosedEvent
。
下表列出所有功能表控件都必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI Automation Events Overview。
UI 自動化事件 | 支援/值 | 註釋 |
---|---|---|
MenuOpenedEvent | 為必填項目 | 沒有 |
MenuClosedEvent | 為必填項目 | 沒有 |
BoundingRectangleProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsOffscreenProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsEnabledProperty 屬性變更事件。 | 為必填項目 | 沒有 |
AutomationFocusChangedEvent | 為必填項目 | 沒有 |
StructureChangedEvent | 為必填項目 | 沒有 |