内容正文:
内蒙古自治区(计算机类)对口招生
《Visual Basic程序设计》复习讲义
模块 6 循环结构程序设计
考点 12 列表框与组合框控件
【考纲要求】
1. 掌握列表框与组合框控件。
【知识网络】
【知识和技能要点】
一、列表框
1. 列表框的用途与 List、ListCount 属性
列表框(ListBox)用于提供一组选项供用户挑选,名称的默认值为 List1、List2 等。List 属字符类型,用来列出选项,可通过下标访问,下标从 0 到 ListCount-1。ListCount 属数值类型,表示列表框中所含选项的个数;由于索引从 0 开始计数,ListCount-1 就是最后一个选项的索引。
2. ListIndex、Sorted 与 MultiSelect 属性
ListIndex 属数值类型,表示当前选中项的索引;当列表框中没有任何选项被选中时,它的值为 -1。Sorted 属布尔类型,取 True 时选项自动按字母顺序排列,取 False(默认值)时按选项被添加的先后顺序排列。MultiSelect 属数值类型,取 0 时只能单选(默认值),取 1 时可用鼠标或键盘简单多选,取 2 时为扩展多选。此外还有 Selected 与 Text 等属性。
3. 列表框的常用方法
列表框提供三个常用方法。AddItem 用于把选项添加到列表框中,书写时先写列表框名称与一个圆点,再写方法名,后面依次给出选项字符串与可以省略的索引号;索引号用来指定插入位置,省略时选项自动添加到末尾。Clear 用于清空列表框中的所有选项。RemoveItem 用于删除指定的选项,写法和 AddItem 类似,圆点之后写出要删除选项的索引值。
4. 运行时增删与修改选项
列表框中的选项既可以在设计阶段通过属性窗口的 List 属性逐行输入,也可以在运行阶段用代码添加:例如在窗体的 Load 事件过程中连续调用几次 AddItem,就依次把各项加入列表。若要改写某个已有选项,可以用赋值语句把新的文本赋给指定下标的 List 元素;配合 ListIndex 属性,还能直接改写当前选中项的内容。
5. 列表框的常用事件
列表框常用的事件有两个。Click 事件在运行时单击某个选项时触发,单击会使该选项在未选中与选中两种状态之间切换。DblClick 事件则在双击某个选项时触发,作用是直接运行该选项所对应的事件。利用这两个事件,可以在用户作出选择之后立即作出响应,例如把选中的选项移动到另一个列表框中去。
二、组合框
1. 组合框的特点与共有属性
组合框(ComboBox)把文本框与列表框合为一体:既像文本框那样可以输入数据,又能像列表框那样从已有选项中挑选,因此它同时具备二者的许多属性和事件。组合框名称的默认值为 Combo1、Combo2 等。它与列表框共有的属性有 List、ListCount、ListIndex、Sorted 与 Text,其中 Text 属性保存当前被选定的内容。
2. 组合框的 Style 属性
Style 属性决定组合框的显示样式,共有三个取值:取 0 是下拉式组合框,界面上有一个下拉列表和一个文本框,既可以从下拉列表中选取,也可以在文本框中输入;取 1 是简单组合框,外观上文本框与下拉列表同时铺开;取 2 是下拉列表框,只允许从下拉列表中选取,不能自己输入内容。需要留意的是,Style 是只读属性,只能在设计时设置。
3. 组合框的常用事件
组合框常用的事件有 Click 与 KeyPress 两个。用户在下拉列表中选择某个选项时触发 Click 事件,此时 ListIndex 属性给出所选选项的索引值,可以据此取出该选项的内容。KeyPress 事件在按下键盘上的按键时触发,其参数 KeyAscii 给出所按键的 ASCII 码;当它的值为 13 时说明用户按下了回车键,程序中常在这个位置把新输入的内容添加到选项列表中。
【真题】
2023年真题|第4题 对于列表框控件,设置哪一个属性可以在属性窗口添加列表项( )
A. List
B. Caption
C. ListIndex
D. Text
【答案】A
【解析】List 属性用来列出列表框中的各个选项,它是一个字符型数组,可以在属性窗口中直接把各选项逐行输入,也可以在程序中通过下标访问。Caption 是标签、命令按钮等用来设置显示文字的属性;ListIndex 表示当前选中项的索引;Text 表示当前选中项的内容。
2023年真题|第10题 设窗体上有一个列表框控件 List1,且其中含有若干列表项,则以下能表示当前被选中的列表项内容的是( )
A. List1.ListIndex
B. List1.List
C. List1.Index
D. List1.Text
【答案】D
【解析】Text 属性用来返回列表框中当前被选中项目的内容。ListIndex 给出的是当前选中项的下标而不是内容;List 是保存全部选项的数组,要取出其中某一项必须指明下标;Index 通常指控件在控件数组中的索引,与选中哪一项无关。
2023年真题|第12题 设组合框 Combo1 中有 3 个项目,则以下能删除最后一项的语句是( )
A. Combo1.RemoveItem Text
B. Combo1.RemoveItem 2
C. Combo1.RemoveItem 3
D. Combo1.RemoveItem Combo1.Listcount
【答案】B
【解析】组合框中选项的索引从 0 开始编号,3 个项目的索引依次为 0、1、2,最后一项的索引是 2,因此应写成 Combo1.RemoveItem 2。若以 3 或 ListCount 作为参数,超出索引范围会出错;参数写成 Text 也不是有效的索引值。
2024年真题|第12题 如果删除列表框中指定的列表项,应使用的方法是( )
A. Remove
B. Del
C. Clear
D. RemoveItem
【答案】D
【解析】RemoveItem 方法用于删除列表框中指定的选项,其参数是要删除选项的索引值。Clear 方法虽然也用于列表框,但它的作用是把所有选项一次清空,而不是删除指定的某一项;Remove 与 Del 都不是 Visual Basic 中列表框的方法。
2025年真题|第20题 程序运行时,向列表框中添加列表项的方法是( )
A. AddItem
B. Add
C. Fill
D. FillItem
【答案】A
【解析】AddItem 方法用于在程序运行时向列表框中添加选项,其后可以给出选项字符串与可省略的索引号。Add、Fill 与 FillItem 都不是 Visual Basic 中列表框的方法名称。
【练习题】
一、填空题
1. 列表框的________属性用于列出选项,它可以通过下标访问,下标值从________开始。
【答案】List;0
【解析】List 属性是一个字符型数组,用来保存列表框中的各个选项,可以通过下标逐一访问,格式是在列表框名称之后用一对圆括号给出下标值。下标从 0 开始编号,因此第一个选项的下标是 0。
2. 列表框的________属性表示列表中选项的个数;当列表框中没有任何选项被选中时,ListIndex 属性的值为________。
【答案】ListCount;-1
【解析】ListCount 属性给出列表中选项的总数。由于索引从 0 开始计数,选项总数为 n 时各项的索引是 0 到 n-1,ListCount-1 也就是最后一项的索引。若当前没有任何选项被选中,ListIndex 的值取 -1。
3. 在程序运行时向列表框添加选项使用________方法;删除指定的选项使用________方法;清空全部选项使用________方法。
【答案】AddItem;RemoveItem;Clear
【解析】AddItem 用于添加选项,其后依次给出选项字符串与可省略的索引号,省略索引号时新选项加到列表末尾。RemoveItem 用于删除指定的选项,参数是该选项的索引值。Clear 用于一次性清空列表框中的所有选项。
4. 组合框是________和列表框的组合控件,既可以输入数据,又可以在已有选项中选取。
【答案】文本框
【解析】组合框把文本框与列表框合为一体:既像文本框那样可以直接输入数据,又能像列表框那样从已有选项中挑选,因此它同时具备二者的许多属性和事件。使用时要根据是否需要允许用户自行输入来选择控件。
5. 组合框的________属性决定它的样式,该属性是只读属性,只能在设计时设置。
【答案】Style
【解析】Style 属性决定组合框的显示样式,取 0 为下拉式组合框、1 为简单组合框、2 为下拉列表框。它是只读属性,只能在设计阶段设置,程序运行过程中不能修改,因此同一窗体上的组合框其样式在运行后是固定的。
6. 组合框的 Click 事件在用户从下拉列表中选择选项时触发,此时________属性的值就是所选选项的索引值。
【答案】ListIndex
【解析】用户在下拉列表中选定某一项时触发 Click 事件,此时 ListIndex 属性的值就是所选选项的索引值,据它可以取出该选项的内容;若需要直接得到内容,也可以使用 Text 属性。这两个属性在列表框与组合框中的用法是一致的。
二、单项选择题
1. 列表框的 List 属性( )
A. 是字符型
B. 是数值型
C. 是布尔型
D. 没有这一属性
【答案】A
【解析】List 属性是一个字符型数组,用来保存列表框中的各个选项。数值型的属性有 ListCount 与 ListIndex,布尔型的属性有 Selected 与 Sorted,它们各自承担不同的作用,不能与 List 混为一谈。
2. 列表框的 Sorted 属性为 True 时,列表中的选项( )
A. 按添加的先后顺序排列
B. 按字母顺序排列
C. 按数字大小排列
D. 随机排列
【答案】B
【解析】Sorted 属性取 True 时,列表框中的选项自动按字母递增的顺序排列;取 False(默认值)时按选项被添加的先后顺序排列。因此若要求列表始终有序,应在设计阶段就把该属性设为 True。
3. 列表框的 MultiSelect 属性取值为 1 时表示( )
A. 只能单选
B. 不能选择
C. 可以扩展多选
D. 可以简单多选
【答案】D
【解析】MultiSelect 属性决定能否同时选中多项:取 0 时只能选择一项,取 1 时可以用鼠标或配合键盘简单多选,取 2 时为扩展多选,可以借助 Shift 与 Ctrl 键配合选择连续或不连续的多项。
4. 在运行阶段向列表框末尾添加一个选项,正确的语句是( )
A. List1.Add "计算机"
B. List1.AddItem("计算机", 0)
C. List1.AddItem "计算机"
D. List1.Items.Add "计算机"
【答案】C
【解析】向列表框添加选项的方法是 AddItem,写成"列表框名.方法名 参数"的形式;省略索引号时新选项自动添加到列表末尾,因此 C 项正确。A 项与 D 项使用的方法名并不存在;B 项虽然方法名正确,但索引号写成 0,会把选项插到列表的最前面。
5. 要删除列表框中索引为 2 的选项,正确的语句是( )
A. List1.RemoveItem 2
B. List1.RemoveItem 3
C. List1.Clear 2
D. List1.Remove 3
【答案】A
【解析】删除指定选项要用 RemoveItem 方法,其后给出该选项的索引值。索引为 2 的选项就是列表中的第 3 项,因此应写成 List1.RemoveItem 2。Clear 方法不带参数,其作用是把所有选项全部清空;Remove 也不是列表框的方法。
6. 要清除列表框中所有的选项,应使用的方法是( )
A. RemoveItem
B. Delete
C. AddItem
D. Clear
【答案】D
【解析】Clear 方法用于一次性清空列表框中的所有选项,调用时不带参数。RemoveItem 一次只能删除一个指定的选项;AddItem 的作用恰好相反,是往列表中添加选项;Delete 不是列表框的方法名称。
7. 列表框的 Click 事件在( )时触发。
A. 双击某个选项
B. 单击某个选项
C. 窗体被装入
D. 选项内容被改变
【答案】B
【解析】Click 事件在运行时单击列表中的某个选项时触发,单击会使该选项在未选中与选中两种状态之间切换。双击某个选项触发的是 DblClick 事件;窗体被装入时触发 Load 事件;选项内容被改变时会触发 Change 一类的事件。
8. 列表框的 DblClick 事件在运行时双击某个选项时触发,其作用是( )
A. 删除该选项
B. 添加一个新选项
C. 直接运行该选项所对应的事件
D. 清空整个列表
【答案】C
【解析】DblClick 事件在双击某个选项时触发,程序可以在其中直接运行与该项相对应的操作,例如把选项移动到另一个列表框中。它本身并不会删除选项、添加选项或清空列表,这些操作都要在事件过程中显式调用相应的方法。
9. 组合框与文本框、列表框的关系是( )
A. 组合框是文本框与列表框的组合控件
B. 组合框就是列表框
C. 组合框就是文本框
D. 三者互不相干
【答案】A
【解析】组合框把文本框与列表框合为一体:既允许用户直接输入数据,又可以从已有选项中挑选,因而同时具备二者的许多属性和事件。它并不等同于其中任何一个控件,而是二者功能的结合。
10. 组合框的 Style 属性取值为 2 时表示( )
A. 下拉式组合框
B. 简单组合框
C. 下拉列表框
D. 多选列表框
【答案】C
【解析】Style 属性取 0 是下拉式组合框,取 1 是简单组合框,取 2 是下拉列表框。取 2 时界面上只出现一个下拉列表,用户只能从列表中选取,不能在文本框里自行输入内容。组合框的样式并没有"多选列表框"这一项。
11. 组合框中保存当前被选定内容的属性是( )
A. List
B. Text
C. ListCount
D. Style
【答案】B
【解析】Text 属性保存组合框中当前被选定的内容,它与 List(ListIndex) 的返回值相同。List 保存全部选项,ListCount 给出选项总数,Style 决定组合框的样式,三者都不表示当前选定的内容。
12. 组合框的 Style 属性( )
A. 既可在设计时设置,也可在运行时设置
B. 只能取 True 或 False
C. 不是组合框的属性
D. 是只读属性,只能在设计时设置
【答案】D
【解析】Style 是只读属性,只能在设计阶段通过属性窗口设置,程序运行过程中不能修改。它取的是 0、1、2 三个整数而不是 True 或 False,用来决定组合框的显示样式。
三、程序填空题
1. 下列程序在窗体装入时向列表框中添加若干选项,并在单击"删除"按钮时删除当前选中的选项。请补充完整下列程序代码。
Private Sub Form_Load()
List1.[1]________ "苹果"
List1.AddItem "橘子"
List1.AddItem "香蕉"
End Sub
Private Sub Command1_Click()
If List1.[2]________ < 0 Then
MsgBox "没有选择!"
Exit Sub
End If
List1.[3]________ List1.ListIndex
End Sub
【答案】[1] AddItem;[2] ListIndex;[3] RemoveItem
【解析】向列表框添加选项要用 AddItem 方法,故 [1] 处填 AddItem。判断用户是否选中了某一项,要看 ListIndex 属性的取值:没有任何选项被选中时它的值为 -1,故 [2] 处填 ListIndex。删除指定的选项要用 RemoveItem 方法,参数就是该选项的索引值,故 [3] 处填 RemoveItem,它把当前选中项从列表中删去。
2. 下列程序在用户于组合框中输入文字并按回车键后,把该项添加到组合框的选项列表中。请补充完整下列程序代码。
Private Sub Combo1_KeyPress(KeyAscii As Integer)
If KeyAscii = [1]________ Then
Combo1.[2]________ Combo1.Text
Combo1.Text = ""
End If
End Sub
【答案】[1] 13;[2] AddItem
【解析】KeyPress 事件的参数 KeyAscii 给出所按键的 ASCII 码,按下回车键时它的值为 13,故 [1] 处填 13。要把用户刚刚输入的内容加入选项列表,应调用组合框的 AddItem 方法,参数用它的 Text 属性,故 [2] 处填 AddItem;紧接着把 Text 属性清空,以便用户继续输入下一项。
原创精品资源学科网独家享有版权,侵权必究
学科网(北京)股份有限公司
$