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

注意

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

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

功能表列控制項是實作功能表列控制項類型的控制項範例。 功能表列可讓使用者啟用應用程式中所包含的命令和選項。

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

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

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

控制項檢視 內容檢視
MenuBar

- MenuItem (1 個以上)
- 其他控制項 (0 個以上)
MenuBar

- MenuItem (1 個以上)
- 其他控制項 (0 個以上)

功能表列控制項可以包含其結構中的編輯控制項和下拉式方塊等其他控制項。 這些額外的控制項對應到控制項和內容檢視中列出的「其他控制項」。

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

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

使用者介面自動化屬性 備註
BoundingRectangleProperty 請參閱備註。 這個屬性所公開的值必須包含所有內含的控制項。
NameProperty 請參閱備註。 除非應用程式有一個以上的功能表列,否則功能表列控制項不需要名稱。 如果應用程式中有一個以上的功能表列,則這個屬性應該用來公開可供辨識的名稱,例如「格式」或「大綱」。
LabeledByProperty Null 功能表列控制項一律沒有標籤。
ControlTypeProperty MenuBar 此值與所有使用者介面架構的值相同。
LocalizedControlTypeProperty 「功能表列」 對應到功能表列控制項類型的當地語系化字串。
IsContentElementProperty True 此功能表列控制項一律包含在 UI 自動化樹狀結構的內容檢視中。
IsControlElementProperty True 此功能表列控制項一律包含在 UI 自動化樹狀結構的控制項檢視中。
IsOffscreenProperty 請參閱備註。 這個屬性的值取決於此控制項是否可在畫面上檢視。
OrientationProperty 相依 這個屬性會公開此功能表列控制項是水平或垂直。
IsKeyboardFocusableProperty True 因為功能表列控制項包含的控制項可接受鍵盤焦點,所以可設定鍵盤焦點。
HelpTextProperty 請參閱備註。 在任何情節中,功能表列控制項都不需要說明文字。
AcceleratorKeyProperty Null 功能表列一律沒有快速鍵。
AccessKeyProperty "ALT" 按下 ALT 鍵應該一律會將焦點移至應用程式中的功能表列。

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

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

控制項模式 支援 備註
IExpandCollapseProvider 相依 如果可以展開或摺疊控制項,則實作 IExpandCollapseProvider
IDockProvider 相依 如果控制項可以停駐在螢幕的不同部分,則實作 IDockProvider
ITransformProvider 相依 如果可以調整控制項的大小、旋轉或移動,則它必須實作 ITransformProvider

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

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

UI 自動化事件 支援/值 備註
BoundingRectangleProperty 屬性變更事件。 必要
IsOffscreenProperty 屬性變更事件。 必要
IsEnabledProperty 屬性變更事件。 必要
ExpandCollapseStateProperty 屬性變更事件。 相依
AutomationFocusChangedEvent 必要
StructureChangedEvent 必要

另請參閱