更新:2007 年 11 月
本主题介绍 UI 自动化对 ComboBox 控件类型的支持。在 UI 自动化中,控件类型是一组条件,控件必须满足这些条件才能使用 ControlTypeProperty 属性。这些条件包括 UI 自动化树结构的特定准则、UI 自动化属性值、控件模式和 UI 自动化事件。
组合框是与静态控件或编辑控件组合在一起的列表框,静态控件或编辑控件在组合框的列表框部分中显示了当前选定的项目。控件的列表框部分要么将始终显示出来,要么只有当用户选择控件旁边的下拉箭头(下压按钮)时才会出现。如果选择字段是一个编辑控件,则用户可以输入列表外的信息;否则,用户只能选择列表中的项目。
下面几个部分定义了 ComboBox 控件类型必需的 UI 自动化树结构、属性、控件模式和事件。UI 自动化的要求适用于所有组合框控件,无论控件是 Windows Presentation Foundation (WPF)、Win32 还是 Windows 窗体。
本主题包括下列各节。
- 必需的 UI 自动化树结构
 - 必需的 UI 自动化属性
 - 必需的 UI 自动化控件模式
 - 必需事件
 - 相关主题
 
必需的 UI 自动化树结构
下表描述了与组合框控件有关的 UI 自动化树的控件视图和内容视图,以及每个视图中可包含的内容。有关 UI 自动化树的更多信息,请参见 UI 自动化树概述。
控件视图  | 
内容视图  | 
|---|---|
  | 
  | 
只有在能够编辑组合框以接纳任何输入的情况下,组合框控件视图中的编辑控件才是必需的,“运行”对话框中的组合框也是如此。
必需的 UI 自动化属性
下表列出了值或定义与组合框控件关系密切的 UI 自动化属性。有关 UI 自动化属性的更多信息,请参见客户端的 UI 自动化属性。
UI 自动化属性  | 
值  | 
说明  | 
|---|---|---|
AutomationIdProperty()  | 
请参见“说明”。  | 
此属性的值在应用程序中的所有控件中必须保持唯一。  | 
请参见“说明”。  | 
包含整个控件的最外面的矩形。  | 
|
请参见“说明”。  | 
有边框时支持。如果并非边框中的每个点都是可单击的,那么,当您执行专用的命中测试时,请重写并提供一个可单击的点。  | 
|
ComboBox  | 
此值对于所有 UI 框架均相同。  | 
|
请参见“说明”。  | 
组合框控件的帮助文本应当解释为什么要求用户从选项组合框中进行选择。例如,“从该组合框中选择某项将会为显示器设置显示分辨率”。  | 
|
True  | 
组合框控件始终包括在 UI 自动化树的内容视图中。  | 
|
True  | 
组合框控件始终包括在 UI 自动化 树的控件视图中。  | 
|
True  | 
组合框控件将公开选择容器中的一组项目。组合框控件可以接收键盘焦点,但 UI 自动化客户端在组合框上设置焦点时,组合框子树中的任何项都可以接收焦点。  | 
|
请参见“说明”。  | 
组合框控件通常具有此属性引用的静态文本标签。  | 
|
“组合框”  | 
与 ComboBox 控件类型相对应的本地化字符串。  | 
|
请参见“说明”。  | 
组合框控件通常从静态文本控件获取其名称。  | 
必需的 UI 自动化控件模式
下表列出了必须由所有复选框控件支持的 UI 自动化控件模式。有关控件模式的更多信息,请参见 UI 自动化控件模式概述。
控件模式/模式属性  | 
支持/值  | 
说明  | 
|---|---|---|
是  | 
组合框控件必须始终包含下拉按钮,只有这样才能成为组合框。  | 
|
是  | 
显示组合框中的当前选择。将委托组合框下面的列表框提供此支持。  | 
|
视情况而定  | 
如果组合框能够接受任意文本值,则必须支持 Value 模式。这种模式可以提供以编程方式设置组合框字符串内容的功能。如果不支持 Value 模式,则表示用户必须从组合框子树内的列表项目中进行选择。  | 
|
从不  | 
组合框上从不直接支持 Scroll 模式。如果组合框内包括的列表框可以滚动,则支持此模式。只有在屏幕上可以看到列表框时才支持此模式。  | 
必需事件
下表列出了所有组合框控件必须支持的 UI 自动化 事件。有关事件的更多信息,请参见 UI 自动化事件概述。
UI 自动化事件  | 
支持  | 
说明  | 
|---|---|---|
必需  | 
无  | 
|
BoundingRectangleProperty property-changed 事件。  | 
必需  | 
无  | 
IsOffscreenProperty property-changed 事件。  | 
必需  | 
无  | 
IsEnabledProperty property-changed 事件。  | 
必需  | 
无  | 
必需  | 
无  | 
|
ExpandCollapseStateProperty property-changed 事件。  | 
必需  | 
无  | 
ValueProperty property-changed 事件。  | 
视情况而定  | 
如果控件支持 Value 模式,则它必须支持此事件。  |