共用方式為


工具提示控件類型的使用者介面自動化支援

備註

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

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

工具提示控制件是包含文字的彈出式視窗。

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

必要的 UI 自動化樹狀結構

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

控件檢視 內容檢視
工具提示

- 文字 (0 或更多)
- 影像 (0 或更多)
工具提示

工具提示控制項只有在可以接收鍵盤焦點時,才會出現在UI自動化樹狀結構的內容檢視中。 否則,工具提示的所有資訊都可從工具提示所參考的 UI Automation 元素 HelpTextProperty 上取得。

工具提示應該出現在其資訊所參考的控件下方。 客戶端必須聆聽ToolTipOpenedEvent,以確保它們一致地取得工具提示中包含的訊息。

必要的UI自動化屬性

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

UI 自動化屬性 價值觀 註釋
AutomationIdProperty 請參閱附注。 這個屬性的值在應用程式中的所有控件中必須是唯一的。
BoundingRectangleProperty 請參閱附注。 包含整個控件的最外框。
ClickablePointProperty 請參閱附注。 可點選的點應該是將關閉控件之工具提示的一部分。 某些工具提示沒有這項功能,而且不會有可點選的點。
IsKeyboardFocusableProperty 請參閱附注。 如果控件可以接收鍵盤焦點,它必須支援這個屬性。
NameProperty 請參閱附注。 工具提示控件的名稱是工具提示內顯示的文字。
LabeledByProperty Null 工具提示控件的標籤總是由其內容自動生成。
ControlTypeProperty 工具提示 所有UI架構的這個值都相同。
LocalizedControlTypeProperty “工具提示” 對應至工具提示控制件類型的當地語系化字串。
IsContentElementProperty 視情況而定 如果工具提示控件可以接收鍵盤焦點,它必須位於樹狀圖的內容檢視中。 如果它只是文字,則會從引發它的控件取得 HelpTextProperty。
IsControlElementProperty 工具提示控制項一律必須是控制項。

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

下表列出了工具提示控制項需要支援的 UI 自動化控制模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀

控制件模式 支援 註釋
IWindowProvider 視情況而定 可以通過單擊 UI 元素關閉的工具提示必須支援 WindowPattern,以便自動關閉。
ITextProvider 視情況而定 為了提高無障礙功能,工具提示控制元件可以支援文本控制模式,但並非必須。 當文字具有豐富的樣式和屬性時,文字控件模式很有用(例如色彩、粗體和斜體)。

必要的UI自動化事件

工具提示控制項必須在畫面上出現時引發 ToolTipOpenedEvent 。 事件中會參考工具提示本身的 UI Automation 元素。

下表列出所有工具提示控件都必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI 自動化事件概觀

UI 自動化事件 支援 註釋
TextSelectionChangedEvent 視情況而定 沒有
TextChangedEvent 視情況而定 沒有
WindowClosedEvent 視情況而定 沒有
WindowOpenedEvent 視情況而定 沒有
ToolTipOpenedEvent 為必填項目 沒有
ToolTipClosedEvent 為必填項目 沒有
BoundingRectangleProperty 屬性變更事件。 為必填項目 沒有
IsOffscreenProperty 屬性變更事件。 為必填項目 沒有
IsEnabledProperty 屬性變更事件。 為必填項目 沒有
NameProperty 屬性變更事件。 為必填項目 沒有
WindowVisualStateProperty 屬性變更事件。 視情況而定 沒有
AutomationFocusChangedEvent 為必填項目 沒有
StructureChangedEvent 為必填項目 沒有

另請參閱