组合框可以是静态的,也可以是可编辑的。使用静态组合框,用户可以从下拉列表中做出一项选择。使用可编辑的组合框,用户可以在列表顶部的文本字段中直接输入文本,也可以从下拉列表中选择一项。如果下拉列表超出文档底部,该列表将会向上打开,而不是向下。组合框由三个子组件组成,它们是:Button 组件、TextInput 组件和 List 组件。
当在列表中进行选择后,所选内容的标签被复制到组合框顶部的文本字段中。进行选择时既可以使用鼠标也可以使用键盘。
如果单击文本框或按钮,ComboBox 组件就会获取焦点。当 ComboBox 组件拥有焦点并为可编辑时,所有键盘输入都会传递到文本框并根据 TextInput 组件(请参阅TextInput 组件)的规则进行处理,但以下按键除外:
按键 |
描述 |
---|---|
Control+下箭头键 |
打开下拉列表并给它设置焦点。 |
Shift + Tab |
将焦点移到前一个对象。 |
Tab 键 |
将焦点移到下一个对象。 |
如果一个 ComboBox 组件具有焦点,并且是静态的,按字母数字键就会沿下拉列表将选区上移和下移到下一个首字符相同的项目。您也可以使用下面的按键来控制静态组合框:
按键 |
描述 |
---|---|
Control+下箭头键 |
打开下拉列表并给它设置焦点。 |
Control+上箭头键 |
关闭下拉列表(如果下拉列表打开的话)。 |
向下箭头 |
选区会向下移动一项。 |
End 键 |
选区会移动到列表底端。 |
Esc 键 |
关闭下拉列表,并将焦点返回到组合框。 |
Enter 键 |
关闭下拉列表,并将焦点返回到组合框。 |
Home 键 |
选区会移动到列表顶端。 |
Page Down 键 |
选区会向下移动一页。 |
Page Up 键 |
选区会向上移动一页。 |
Shift + Tab |
将焦点移到前一个对象。 |
Tab 键 |
将焦点移到下一个对象。 |
如果组合框的下拉列表具有焦点,按字母数字键就会沿下拉列表将选区上移和下移到下一个首字符相同的项目。您也可以使用下面的按键来控制下拉列表:
按键 |
描述 |
---|---|
Control+上箭头键 |
如果下拉列表处于打开状态,焦点就会返回到文本框,并且下拉列表会关闭。 |
向下箭头 |
选区会向下移动一项。 |
End 键 |
插入点移动到文本框的末尾。 |
Enter 键 |
如果下拉列表处于打开状态,焦点就会返回到文本框,并且下拉列表会关闭。 |
Esc 键 |
如果下拉列表处于打开状态,焦点就会返回到文本框,并且下拉列表会关闭。 |
Home 键 |
插入点移动到文本框的开始位置。 |
Page Down 键 |
选区会向下移动一页。 |
Page Up 键 |
选区会向上移动一页。 |
Tab 键 |
将焦点移到下一个对象。 |
Shift-End |
选中从插入点到末尾位置的文本。 |
Shift-Home |
选择从插入点到开始位置的文本。 |
Shift-Tab |
将焦点移到前一个对象。 |
向上箭头 |
选区会向上移动一项。 |
注意:Page Up 键和 Page Down 键使用的页的大小比可以显示的项数少一项。例如,在一个十行的下拉列表中向下翻页,将会依次显示第 0-9 项、第 9-18 项、第 18-27 项,等等,每页都会有一个重叠项。
有关控制焦点的详细信息,请参阅创建自定义焦点导航或FocusManager 类。
每个 ComboBox 组件实例在舞台上的实时预览反映在创作过程中对属性检查器或“组件检查器”面板中的参数所做的更改。然而,在实时预览中下拉列表并不打开,并且第一个项目会显示为选中项目。
在将 ComboBox 组件添加到应用程序时,您可以使用“辅助功能”面板,使其可由屏幕读取器访问。首先,您必须添加以下代码行来启用辅助功能:
mx.accessibility.ComboBoxAccImpl.enableAccessibility();
不管一个组件有多少实例,都只对其启用一次辅助功能。有关详细信息,请参阅创建辅助内容。