備註
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
本主題提供 ComboBox 控制件類型的 UI 自動化支援相關信息。 在UI自動化中,控件類型是控制項必須符合的一組條件,才能使用 ControlTypeProperty 屬性。 這些條件包括UI自動化樹狀結構、UI自動化屬性值、控件模式和UI自動化事件的特定指導方針。
下拉式方塊是與靜態控件或編輯控件結合的清單框,該控件會在下拉式方塊的清單框部分顯示目前選取的專案。 控件的清單框部分會隨時顯示,或只在用戶選取控件旁邊的下拉箭號(即按鈕)時顯示。 如果選取欄位是編輯控制件,使用者可以輸入不在清單中的資訊;否則,使用者只能選取清單中的專案。
下列各節會定義 ComboBox 控制項類型所需的 UI 自動化樹狀結構、屬性、控制項模式和事件。 使用者介面自動化需求適用於所有下拉式方塊控件,無論是 Windows Presentation Foundation(WPF)、Win32 還是 Windows Forms。
必要的 UI 自動化樹狀結構
下表描述與下拉式方塊控件相關的 UI 自動化樹狀結構的控件檢視和內容檢視,並描述每個檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀。
控制項檢視 | 內容檢視 |
---|---|
ComboBox - 編輯 (0 或 1) - 清單 (1) - 列表項目(列表的子項;0 到多) - 按鈕(1) |
ComboBox - 清單項目(從0到多個) |
只有在下拉式方塊可以編輯以接受任何輸入時,控制檢視裡的編輯控制項才是必要的,就像 [執行] 對話框中的下拉式方塊一樣。
必要的UI自動化屬性
下表列出UI自動化屬性,其值或定義與下拉式方塊控件特別相關。 如需UI自動化屬性的詳細資訊,請參閱 用戶端的UI自動化屬性。
UI 自動化屬性 | 價值觀 | 註釋 |
---|---|---|
AutomationIdProperty | 請參閱備註。 | 這個屬性的值在應用程式中的所有控件中必須是唯一的。 |
BoundingRectangleProperty | 請參閱備註。 | 包含整個控制項的最外層矩形。 |
ClickablePointProperty | 請參閱備註。 | 如果有周框,則支援 。 如果周框內的每個點都無法點選,而且您執行特製化的點擊測試,則覆寫並提供可點選的點。 |
ControlTypeProperty | ComboBox | 此值與所有使用者介面架構的值相同。 |
HelpTextProperty | 請參閱備註。 | 下拉式方塊控件的說明文字應該說明為何要求使用者從下拉式方塊中選擇選項。 文字類似於透過工具提示呈現的資訊。 例如,「選取專案以設定監視器的顯示解析度」。 |
IsContentElementProperty | 對 | 組合框控件一律包含在使用者介面自動化樹狀結構的內容檢視中。 |
IsControlElementProperty | 對 | 組合框控件一律包含在UI自動化樹狀結構的控件檢視中。 |
IsKeyboardFocusableProperty | 對 | 組合框控件從選擇容器中顯示一組項目。 組合框控制項可以取得鍵盤焦點,然而當 UI 自動化用戶端將焦點設定在組合框時,組合框子樹中的任何項目都可能受到焦點。 |
LabeledByProperty | 請參閱備註。 | 下拉式方塊控件通常具有此屬性參考的靜態文字標籤。 |
LocalizedControlTypeProperty | "複合式選單方塊" | 相對應 ComboBox 控制型態的在地化字串。 |
NameProperty | 請參閱備註。 | 組合框控制項通常會從靜態文字控制項取得名稱。 |
必要的使用者介面自動化控制模式
下表列出所有下拉式方塊控件必須支援的UI自動化控制模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀。
控制件模式 | 支援 | 註釋 |
---|---|---|
IExpandCollapseProvider | 是的 | 下拉式方塊控件必須一律包含下拉式按鈕,才能成為下拉式方塊。 |
ISelectionProvider | 是的 | 在下拉式方塊中顯示目前的選取範圍。 此支援會委派給組合框下方的清單框。 |
IValueProvider | 視情況而定 | 如果下拉式方塊能夠接受任意文字值,則必須支援值模式。 此模式可讓您以程式設計方式設定組合方塊的字串內容。 如果不支援 [數值] 模式,這表示用戶必須從下拉式方塊下層內的列表項目進行選取。 |
IScrollProvider | 從不 | 組合方塊上從不支援捲軸模式。 如果下拉式方塊內含的清單框可以捲動,則支援它。 只有在畫面上顯示清單框時,才支援它。 |
必要事件
下表列出所有下拉式方塊控件必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI Automation Events Overview。
UI 自動化事件 | 支援 | 註釋 |
---|---|---|
AutomationFocusChangedEvent | 為必填項目 | 沒有 |
BoundingRectangleProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsOffscreenProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsEnabledProperty 屬性變更事件。 | 為必填項目 | 沒有 |
StructureChangedEvent | 為必填項目 | 沒有 |
ExpandCollapseStateProperty 屬性變更事件。 | 為必填項目 | 沒有 |
ValueProperty 屬性變更事件。 | 視情況而定 | 如果控件支援 Value 模式,它必須支援這個事件。 |