# ComboBox 组合框

组合了 ListBox 和 TextBox 的功能。 用户可以输入新值,就像 使用 TextBox 一样,或者用户可以选择现有值,就像 使用 ListBox 一样。

  • 如果将组合框绑定到了数据源,那么组合框会将用户输入或选择的值插入到该数据源中。如果绑定的是多列组合框,那么 BoundColumn 属性将哪个值保存到绑定的数据源中。

  • 组合框中的列表由多行数据构成。每行可有一列或多列,列标题是可有可无的。有些应用程序不支持列标题,还有些只提供有限的支持。

  • 组合框的默认属性是 Value 属性。

  • 组合框的默认事件是 Change 事件。

注意

如果希望在任何时候都将列表中的各行数据显示出来,那么可以使用列表框代替组合框。如果希望在使用组合框时,只使用列表中列出的值,可设置组合框的 Style 属性,以使该控件看上去像下拉列表框。

属性
属性 说明
AutoSize 规定对象是否自动调整大小以显示其完整的内容。
AutoTab 当用户在文本框或组合框的文本框区域输入了最大允许字符数时,是否自动跳格。
AutoWordSelect 指定是采用单词还是采用字符,来作为扩展选定内容的基本单元。
BackColor 规定对象的背景色。
BackStyle 返回或设置对象的背景方式。
BorderColor 指定对象的边框颜色。
BorderStyle 指定控件或窗体的边框类型。
BoundColumn 标识多列组合框或列表框中的数据的来源。
BoundValue 控件接受焦点时,包含控件的值。
CanPaste 指定在剪贴板中是否包含对象支持的数据。
Column 指定列表框或复选框中的一个或多个条目。
ColumnCount 指定列表框或组合框的显示列数。
ColumnHeads 显示列表框、组合框及接受列题注的对象中的列标题行。
ColumnWidths 指定多列的组合框或列表框中的各列的宽度。
ControlSource 标识用于设置或储存控件中 Value 属性的数据位置。ControlSource 属性可接受 Microsoft Excel 工作表区域。
ControlTipText 指定当用户将鼠标指针放在控件上但未按下时所显示的文本。
CurTargetX 在一个多行文本框或组合框中,检索插入点的水平首选位置。
CurX 指定插入点在多行文本框或组合框中的当前水平位置。
DragBehavior 指定系统是否允许在文本框或组合框中执行拖放功能。
DropButtonStyle 指定在组合框的放置按钮上显示的符号。
Enabled 指定一个控件能否接受焦点和响应用户产生的事件。
EnterFieldBehavior 指定进入文本框或组合框时的选择行为。
Font对象 定义控件或窗体所用文字的特征。
ForeColor 指定对象的前景色。
Height、Width 对象的高度和宽度,以磅为单位。
HelpContextID 将一个自定义 Microsoft Windows 帮助文件中的特定主题与一个指定的控件相关联。
HideSelection 指定当控件没有焦点时被选定的文本是否保持突出显示。
IMEMode 为控件指定输入法编辑器 (IME) 的默认的运行时间模式。这个属性只用于为远东地区编写的应用程序,在其他应用程序中被忽略。
SpecialEffect 指定对象的外观。
Left、Top 控件与所在窗体的左边或顶边之间的距离。
LineCount 返回文本框中或组合框中文本行的行数。
List 返回或设置列表框或组合框的列表条目数。
ListCount 返回控件的列表中的条目数。
ListIndex 指定当前选中的列表框或组合框条目。
ListRows 指定列表中显示的最大行数。
ListStyle 规定列表框或组合框中的列表的外观。
ListWidth 指定组合框中列表的宽度。
Locked 指定一个控件能否被编辑。
MatchEntry 返回或设置一个值,用来表示列表框或组合框如何按用户键入的内容来搜索它的列表。
MatchFound 表示输入到组合框的文本是否与列表中的某个条目相匹配。
MatchRequired 指定输入组合框文本部分的值是否必须与该控件现有列表中的条目相匹配。虽然用户可键入不匹配的值,但直到键入一个匹配的值才能退出该控件。
MaxLength 规定用户可以在文本框或组合框中输入的最多字符数。
MouseIcon 为对象指定一个自定义的图标。
MousePointer 指定当用户把鼠标放到特定对象上时,所显示鼠标指针的类型。
Name 指定一个控件或对象的名称或与 Font 对象相关的字体的名称。
Object 当新控件具有与标准属性或方法同名的属性或方法时,则覆盖相应的标准属性或方法。
OldHeight、OldWidth 返回控件先前的高度或宽度,以磅为单位。
OldLeft、OldTop 返回控件先前位置与所在窗体的左边或顶边之间的距离,以磅为单位。
Parent 返回包含指定控件、对象或集合的窗体、对象或集合的名字。
RowSource 指定为组合框或列表框提供列表的来源。
SelectionMargin 规定用户能否通过单击文本左边区域来选中一行。
SelLength 在文本框或组合框的文本部分中选中的字符数。
SelStart 指定选中文本的起点。如果没有选中的文本,则指定插入点。
SelText 返回或设置控件中选中的文本。
ShowDropButtonWhen 规定何时显示组合框或文本框的下拉按钮。
SpecialEffect 指定对象的外观。
Style 对于组合框,规定用户选择或设置控件的值的方法。对于多页控件和 TabStrip,规定控件中标签的显示风格。
TabIndex 指定单个对象在窗体 Tab 键顺序中的位置。
TabStop 指定当用户跳格到一个对象时,该对象能否获得焦点 。
Tag 存储对象的附加信息。
Text 返回或设置文本框的文本。改变组合框或列表框中选定的行。
TextAlign 定义控件中文本的对齐方式。
TextColumn 当用户在组合框或列表框中选定一行时,标识相应的列,将其保存在 Text 属性中。
TextLength 返回文本框或组合框编辑区中的文本的长度,以字符数表示。
TopIndex 设置和返回出现在表格最顶端位置的项目。
Value 定义某给定的控件的状态或内容。
Visible 定义一个对象是可视的还是被隐藏的。
方法
方法 说明
AddItem 对于单列的列表框或组合框,在列表中添加一项。对于多列的列表框或组合框,在列表中添加一行。
Clear 从一个对象或集合中删去所有对象。
Copy 将对象的内容复制到剪贴板上。
Cut 从一个对象中删除选定的信息并将它送达剪贴板。
DropDown 显示组合框的列表区。
Move 移动一个窗体或控件,或者移动 Controls 集合中的所有控件。
Paste 把剪贴板上的内容传送到一个对象。
RemoveItem 从列表框或组合框的列表中删去一行。
SetFocus 将焦点移动到对象的实例中。
ZOrder 将对象放在 Z-顺序的前面或后面。
事件
事件 说明
AfterUpdate 在通过用户界面更改了控件中的数据后,此事件发生。
BeforeDragOver 当拖放操作正在进行时该事件发生。
BeforeDropOrPaste 当用户即将在一个对象上放置或粘贴数据时,该事件发生。
BeforeUpdate 控件中的数据被改变之前该事件发生。
Change 当 Value 属性改变时该事件发生。
Click 鼠标单击控件。
DblClick 当用户指向一个对象并双击鼠标时,发生 DblClick 事件。
DropButtonClick 每当下拉列表出现或消失时,该事件发生。
Enter、Exit 一个控件从同一窗体的另一个控件实际接收到焦点之前,Enter 事件发生。同一窗体中的一个控件即将把焦点转移到另一个控件之前,Exit 事件发生。
Error 当控件检测到一个错误,并且不能将该错误信息返回调用程序时该事件发生。
KeyDown、KeyUp 按下和释放某键时这两个事件依次发生。按下键时发生 KeyDown 事件,而释放键时发生 KeyUp 事件。
KeyPress 当用户按下一个 ANSI 键时该事件发生。
MouseDown、MouseUp 用户单击鼠标按键时发生。用户按下鼠标按键时发生 MouseDown 事件;用户释放鼠标按键时发生 MouseUp 事件。
MouseMove 用户移动鼠标时该事件发生。
示例