8.2列表框和组合框(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)

2024-08-10
| 30页
| 87人阅读
| 18人下载
普通

内容正文:

项目8 Visual Basic常用内部控件 项目导入 控件是组成程序外部表象的基本元素,通过合理整齐地布置控件,可以方便地使用程序,使程序的易用性大大提高。 项目8通过4个任务介绍 Visual Basic 工具箱中提供的另外一组常用控件,这些控件有单选按钮、复选框、框架、列表框、组合框、图像框、图片框和计时器,介绍每类控件的常用属性、事件和方法。 2 项目目标 掌握单选按钮、复选框、框架、图像框、图片框,以及计时器等控件的常用属性和使用方法。 3 任务2 列表框和组合框 4 任务目标 掌握列表框、组合框的常用属性和方法。 任务实施 列表框控件的名称的默认值为List1、List2、…,列表框的作用是提供选项进行选择。 组合框是文本框和列表框的组合控件,它可以接收程序运行过程中的数据,既可以和文本框一样输入数据,又可以在组合框的已有选项中进行选择,因此它也同时具有文本框和列表框的大部分属性和事件。 5 列表框没有 Caption 属性。 它不具备编辑功能,程序运行后用户不能脱离代码而改变列表框项目的内容,只能选择项目。 1.列表框(ListBox) (1)列表框的常用属性、类型及其说明见表8-4。 属 性 类 型 说 明 List 字符串数组 该属性用来列出项目内容,可以通过下标访问列表框的内容(下标值从0到ListCount-1),格式s$=[列表框.]List(下标值),例如,执行“s$=List1.List(3)”语句,将列出列表框List1的第4项内容 ListCount 数值型 该属性值为控件列表部分项目的个数,由于索引值从 0 开始计数,所以 ListCount -1 是最后一个项目的Index ListIndex 数值型 该属性值为被选中项目的索引号。列表框第1项的ListIndex值为0;最后一项的ListIndex值为ListCount-1;如果没有选择项目,ListIndex的值为-1。此外,该属性只能在程序中设置或引用 Selected 布尔型 该属性表示列表框中的项目是否被选中。各项的取值为True或False。例如, Selected(1)=True表示第2项被选中。此外,该属性只能在程序中设置或引用 Text 字符型 该属性用来返回当前选中的项目内容。对于单选的列表框控件List1,字符串 List1.list(List1.ListIndex)与 List1.Text 相等,都是被选中项目的文本 Sorted 布尔型 该属性指定控件中的项目是否自动按字母顺序排列,True表示列表中的项目按字母顺序排列;False为默认值,列表框的项目不按字母顺序排列,而是按添加的先后次序排列 MultiSelect 数值型 利用列表框控件的该属性,可以为列表框设置“单选”或“允许多选”属性;值为0:只能单选(默认值);值为1:可以多选,被选中的项目都被突出显示;值为2:扩展多选 6 (2)列表框的常用方法。 ① AddItem方法。 格式: <列表框>.AddItem <项目字符串>[,索引号] 功能: AddItem方法用于将项目添加到 ListBox 控件中。 说明: 索引号可以指定项目的插入位置,如果省略索引号,项目自动加到列表框末尾。 7 如下列 Form_Load 事件可在装入窗体时,为列表框控件 List1 添加若干项目。 Private Sub Form_Load() List1.AddItem"苹果" List1.AddItem"桔子" List1.AddItem"香蕉" List1.AddItem"木瓜" List1.AddItem"火龙果" List1.AddItem"榴莲" End Sub 8 列表框控件的项目也可以在设计时添加。 其方法为: 在属性窗口内选中List属性,在下拉框中添加项目,用Ctrl+Enter组合键换行。 运行时也可以用赋值语句在列表框控件中添加或修改项目: 列表框.List(List1.ListIndex)=项目文本 9 (2)列表框的常用方法 ② Clear方法。 格式: <列表框>.Clear 功能: 用于清空列表框控件中的所有表项。 10 (2)列表框的常用方法 ③ RemoveItem方法。 格式: <列表框>. RemoveItem <索引值> 功能: 用于删除列表框中指定的表项。 例如: List1.RemoveItem 2 删除列表框的第3项 11 (3)列表框的常用事件。 列表框的常用事件有以下两个。 ① Click 单击事件。 运行时单击列表框控件的某一表项,可以使该表项在未选状态和选中状态之间切换,同时触发该列表框控件的 Click 事件。 ② DbClick 双击事件。 双击,可直接运行项目所对应的事件。 12 【例8.4】 本程序运行时,左右两边列表框的单个选项可以互相换位,也可以一次把所有的选项切换到另一侧。双击左侧列表框也可以完成右移,双击右侧列表框也可以完成左移。 13 图8-8 程序运行效果 14 (1)设计界面如图8-9所示,设置属性如图8-8所示。 图8-9 用户界面 (2)编写事件代码。 编写窗体Form1的Load事件代码: Private Sub Form_Load() List1.AddItem"苹果" ' 为list1 控件添加数据 List1.AddItem"桔子" List1.AddItem"木瓜" List1.AddItem"葡萄" List1.AddItem"西瓜" List1.AddItem"香蕉" List1.AddItem"火龙果" List1.AddItem"菠萝蜜" End Sub 15 编写“>”命令按钮的Click事件代码: Private Sub Command1_Click() ' 移动表项至右边的列表框 If List1.ListIndex<0 Then ' 判断是否选择了表项 MsgBox"没有选择!" Exit Sub Else List2.AddItem List1.Text ' 添加选中的表项到右边的列表框中 List1.RemoveItem List1.ListIndex End If End Sub 16 编写“<”命令按钮的Click事件代码: Private Sub Command2_Click() ' 移动表项至左边的列表框 If List2.ListIndex<0 Then ' 判断是否选择了表项 MsgBox "没有选择!" Exit Sub Else List1.AddItem List2.Text ' 添加选中的表项到左边的列表框中 List2.RemoveItem List2.ListIndex ' 删除此表项 End If End Sub 17 编写“>>”命令按钮的Click事件代码: Private Sub Command3_Click() ' 将所有表项全部添加到右边的列表框中 Do While List1.ListCount ' 判断是否到达最后一个表项 List2.AddItem List1.List(0) ‘ 每次移动最前面的表项 List1.RemoveItem 0 Loop End Sub 18 编写“<<”命令按钮的Click事件代码: Private Sub Command4_Click() ' 将所有表项全部添加到左边的列表框中 Do While List2.ListCount List1.AddItem List2.List(0) List2.RemoveItem 0 Loop End Sub 19 2.组合框 列表框和组合框都可以为用户提供选项列表,用户可以在控件列表项中进行选择,所以在事件和属性方法上有很多相似之处。但二者又有所不同,使用时要根据需要进行选择。 组合框控件的Text属性以及名称的默认值都为Combo1、Combo2、…。 20 (1)组合框的常用属性。 属 性 名 类 型 说 明 List(i) 字符型 列表是一个字符串数组,存放组合框的项目,下标从0开始,List(0)是第一个列表项。该属性值既可在设计状态下设置,也可在程序中设置或引用 ListCount 数值型 其值为组合框项目的总数。该属性只能在程序中引用 ListIndex 数值型 选中的项目的序号,其值从0开始直到ListCount-1. 该属性只能在程序运行时使用,没有项目被选定时为-1 Sorted 布尔型 值为True时,列表框中各列表项自动按字母递增排序,其值为False(默认值)时,按输入的先后次序排列。该属性只能在设计状态下设置 Text 字符型 该属性只能在程序中引用。其值为组合框中被选定的内容,与表达式List(ListIndex)的返回值相同 21 表8-5 组合框和列表框共有的属性 ① Style 属性(整数 0、1、2)。 Style属性值 说 明 0 为下拉式组合框,包括一个下拉式列表和一个文本框。可以从列表选择或在文本框中输入 1 为简单组合框,包括一个文本框和一个不能被收起和下拉的列表,可以从列表中选择或在文本框中输入 2 为下拉式列表,这种样式仅允许从下拉式列表中选择 22 该属性决定组合框的样式,是只读属性,只能在设计时设置,其属性值见表8-6。 表8-6 组合框的Style属性值 23 组合框控件 Style 属性不同设置的显示效果如图8-10所示。 图8-10 组合框控件 Style 属性不同设置的显示效果 (2)组合框的常用事件。 ① Click 事件。 用户单击组合框控件的列表部分选择表项的同时触发 Click 事件,此时 ListIndex 属性值就是组合框中所选表项的索引。 ② KeyPress 事件。 对于 Style 属性值为0 或 1 的组合框控件,KeyPress 事件可以用于修改或添加列表部分的表项。 该事件由在其文本框中按任何键触发,一般应在按回车键(ASCII 码为13)时执行修改或添加表项的操作。 24 下列 Combo1 控件的 KeyPress 事件过程可在文本框内新表项的输入结束(以回车符为标志)后向组合框添加该表项: Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii=13 Then Combo1.AddItem Combo1.Text End If End Sub 25 【例8.5】 设置两个组合框,分别显示运动项目“大球”和“小球”,大球的选项为“足球、篮球、排球”,小球的选项分别为“乒乓球、羽毛球”。 26 程序运行效果如图8-11所示。 窗体载入时,在组合框中添加数据,事件代码为: Private Sub Form_Load( ) ' 为组合框添加数据 Combo1.AddItem"足球" Combo1.AddItem"篮球" Combo1.AddItem"排球" Combo2.AddItem"乒乓球" Combo2.AddItem"羽毛球" Label3.AutoSize=True Label3.Caption="" End Sub 27 选择组合框Combo1中大球的单击事件代码为 Private Sub Combo1_Click() Label3.Caption="您喜欢的球类项目是:"+Combo1.Text End Sub 28 选择组合框Combo2中小球的单击事件代码为 Private Sub Combo2_Click() If Label3.Caption="" Then '开始就选择小球则提醒先选择大球类 MsgBox "请先选择大球类" Combo2.Text="" ' 清空 Combo2 的显示 Else Label3.Caption=Label3.Caption+"和"+Combo2.Text End If End Sub 29 在列表框中列出1~100之间能被7整除的数。 30 课堂反馈: $$

资源预览图

8.2列表框和组合框(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
1
8.2列表框和组合框(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
2
8.2列表框和组合框(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
3
8.2列表框和组合框(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
4
8.2列表框和组合框(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
5
8.2列表框和组合框(课件)-《程序设计基础(Visual Basic)》同步教学(电子工业出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。