列表框.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



ListBox控件示例2
【例】编写一个程序,显示学期所有可选课程列表,学生 选课时在课程列表中选择一个或多个课程添加到选中课程 列表框中,选过的课从可选课程列表中删除。 设计两个列表框,分别是lstLeft和lstRight
ListBox控件示例2
首先初始化可选课程列表框,在其中添加所有的选修课程名称: Private Sub Form_Load() lstLeft.AddItem "大学语文" lstLeft.AddItem "文化学" lstLeft.AddItem "音乐欣赏" lstLeft.AddItem "日语" lstLeft.AddItem "数学建模" lstLeft.AddItem "Web程序设计" lstLeft.AddItem "信息系统安全" lstLeft.AddItem "Linux操作系统" lstLeft.AddItem "Visual C++" End Sub
ListBox控件的事件
四、Click事件和DblClick事件 • 当选择列表框中的项目时,将触发Click事件,双击列 表框中的项目,将触发DblClick事件。 如果在 Click事件中有代码,则DlbClick事件将永远不 会被触发,因为Click事件是优先被触发的事件。 通常会响应DblClick事件
【<<-】按钮的事件过程表示取消所有的选课,将选中课程列表中 的全部课程送回课选课程列表框中,代码如下:
Private Sub cmdAllToRight_Click() Dim i As Integer For i = 0 To lstRight.ListCount – 1 lstLeft.AddItem lstRight.List(i) Next lstRight.Clear ‘清除已选课列表框 End Sub
ListBox控件的风格
Style 属 性 : 指 定 列 表 框 的 显 示 风 格 。 默 认 设 置 是 0– Standard,当设置为1–Checkbox时,在列表框的每一 个项目边上都有一个复选框,此时 MultiSelect 属性自 动被设置为0–None,并且不允许其它的设置,多选则。 通过复选框来实现,有标记的项目表示被选中,反之 则没有选中。
第11章 列表框、组合列表框和滚动条



列表框控件(ListBox)是一个显示项目列表的窗口, 用户可以浏览并从中选择一个或者多个项目。 组合框控件( ComboBox )与列表框控件有些类似, 可以看作是 TextBox 和 ListBox 的结合体。组合框不仅 允许用户在列表框中选择项目,还允许用户在文本框 中输入文本的方式来选择项目或指定文本。 滚动条让用户控制数值在某指定范围内的变化,通过 用鼠标移动滚动条的位置来获得特定值。对于不能自 动支持滚动的控件,滚动条控件能帮助它们提供滚动 功 能 , 水 平 滚 动 条 ( HScrollBar ) 和 垂 直 滚 动 条 (VScrollBar)。
单选ListBox控件示例1

【例】编写一个程序,输入要采购的书籍名称,按下 添加按钮后,将输入的内容添加到一个采购列表框中, 同时也可以选中列表框某书,按删除按钮从列表框中 删除。
单选ListBox控件示例1
' 按下添加按钮的代码 Private Sub cmdAdd_Click() lstBook.AddItem txtBook.Text txtBook.Text = "" txtBook.SetFocus End Sub ' 按下删除按钮的代码 Private Sub cmdDelete_Click() If lstBook.ListIndex <> -1 Then ' 有选择项目 lstBook.RemoveItem lstBook.ListIndex End If End Sub
ListBox控件示例2
【->>】按钮的事件过程表示所有课程全部选中,即可选课程中的 所有课程全部增加到选中课程列表框中,代码如下:
Private Sub cmdAllToRight_Click() Dim i As Integer For i = 0 To lstLeft.ListCount – 1 lstRight.AddItem lstLeft.List(i) Next lstLeft.Clear ‘清除可选课列表框 End Sub
ListBox控件示例2
• 【->】按钮实现将 lstLeft 列表框中所有选中的项目增 加到右列表框中,即选课操作;【<-】按钮将右列表 框选中的课程送回到左列表框中,即取消选课。
' 该过程将第一个列表框的选中项目转移到第二个列表框中 Private Sub moveItem(objSource As Object, objTarget As Object) Dim i As Integer For i = objSource.ListCount - 1 To 0 Step -1 If objSource.Selected(i) = True Then '选中的项目进行转移 objTarget.AddItem objSource.List(i) objSource.RemoveItem i End If Next End Sub ' 选择课程到选课列表框中 ' 取消某些已选选课 Private Sub cmdToRight_Click() Private Sub cmdToLeft_Click() moveItem lstLeft, lstRight moveItem lstRight, lstLeft End Sub End Sub
ListBox控件的选择
三、选取列表项目
– MultiSelect 属性:当取默认值 0-None 时,永远只能 选中列表框中的一个项目,当前选定项目的索引位 置可以通过控件的ListIndex属性来取得。 – ListIndex属性仅在程序运行时可用,用于设置或返 回列表框中当前选定项目的索引位置。如果没有项 目被选中,则ListIndex属性取值为-1。 – 取得当前选中的项目内容时,可以这样书写: List1.List(List1.ListIndex)

ComboBox控件的值
• Text属性:获取组合框当前选定项目值,即最后文本 框中显示的文本。该文本既可以是选定的列表项目, 也可以是用户在文本框中输入的字符串。 【例】编写一个程序,使用组合框显示和查询学校所 有的系以及该系的所有专业。

ComboBox控件举例
' 初始化系名组合框 Private Sub Form_Load() cboFac.AddItem "物理系" cboFac.AddItem "化学系" cboFac.AddItem "计算机系" End Sub ' 根据选择的系名,填充不同的专业 Private Sub cboFac_click() cboSpec.Clear Select Case cboFac.Text Case "物理系" cboSpec.AddItem "理论物理" cboSpec.AddItem "应用物理" cboSpec.AddItem "天文物理" Case "化学系" cboSpec.AddItem "生物化学" cboSpec.AddItem "精细化工" Case "计算机系" cboSpec.AddItem "软件" cboSpec.AddItem "通信" cboSpec.AddItem "信息管理" End Select End Sub
ListBox控件示例2
• 因为上述两个过程完成的操作基本相同,可以共用代码。因 此编写了一个通用子程序 moveAllItems ,其功能是将第一个 参数指定的列表框中的全部项目转移到第二个参数指定的列 表框中。
Private Sub moveAllItems(objSource As Object, objTarget As Object) Dim i As Integer For i = 0 To objSource.ListCount – 1 objTarget.AddItem objSource.List(i) Next objSource.Clear End Sub 【->>】按钮的事件过程: Private Sub cmdAllToRight_Click() moveAllItems lstLeft, lstRight End Sub 【<<-】按钮的事件过程: Private Sub cmdAllToLeft_Click() moveAllItems lstRight, lstLeft End Sub


组合框ComboBox
组合框有三种样式,可以用Style属性来设置样式:
• • 下拉式组合框:Style属性设置为0 – Dropdown Combo),包 括一个文本框和一个下拉才出现的列表框,这是缺省的样式。 简单组合框:Style属性设置为1–Simple Combo,控件包括一个 文本框和一个固定显示的列表框。 下拉式列表框: Style 属性设置为 2–Dropdown List ,此样式不 具备文本框,不允许输入新的项目,仅能从列表中选择。
列表框ListBox
一、增减列表中的项目 • AddItem 向列表框中添加项目
lstCity.AddItem “ShangHai”, 1 – 参数1是要添加的字符串,参数2是添加的位置(索 ***在设计时添加项目(使用属性窗口) *** 引值),第一个项目索引值为 0 List属性下拉文本框可输入,Ctrl+Enter换行 lstCity.RemoveItem 0 – 项目删除后,之后项目的索引值会自动修正
ListBox控件的其他属性
• Sorted 属性: 指定列表框的项目是否自动按字母顺序 排序,取值为False表示不排序,项目怎样添加进去的 就怎样显示;当取值为 True时,所有项目按照字母顺 序排列显示(中文按汉语拼音顺序),添加或删除项 目后仍然会遵守顺序。 SelCount 属性: 该属性返回当前被选中的列表项目的 数量,如果没有项目被选中,那么 SelCount 属性将返 回值0。该属性对允许多选的列表框是较为有用的。 Text 属性: 单选列表框可以用 Text 属性来获取当前选 择的项目。
List1.Selected(0) List1.Selected(1) '返回列表中的第1个项目是否选中 '返回列表中的第2个项目是否选中
多选ListBox控件示例1
' 按下删除按钮的代码 Private Sub cmdDelete_Click() Dim i As Integer For i = lstBook.ListCount - 1 To 0 Step -1 If lstBook.Selected(i) = True Then lstBook.RemoveItem i End If Next End Sub 因为删除一个项目后,其后的项目索引值和列表项目数都会发生 变化,难以编程实现。所以列表框从后往前循环做删除操作。
Debug.Print List1.List(0) strProvince = List2.List(1)
– ListCount属性:该属性记录当前列表框的项目总数。 比如下列代码可以输出列表框的全部内容:
For i = 0 To List1.ListCount Debug.Print List1.List(i) Next
• Remove 从列表中删除项目
• Clear 清除列表中的所有项目
lstCity.Clear
ListBox控件的值
二、取列表内容
– List属性:记录列表框中的全部项目。List属性是一 个字符串数组,列表框中的每个项目对应该数组的 一个元素,通过索引值来访问列表框的每个项目。 第一个项目的索引值为0,以此类推。
ct 属性:设置为 1-Simple 或者 2-Extended 时, 列表框可以实现多选。前者表示简单复选,即利用鼠 标单击或按下空格键在列表中选中或取消选中项,而 箭头键仅移动焦点。后者表示扩展复选,其用法与 Windows的文件列表的选择方法完全一样。 Selected 属性:该属性用来判断列表框中某一个项目 是否被选中,只能在运行时被使用。取值为True代表 选中, False 表示未选中。使用该属性需要指定项目 的索引值,如下:
相关文档
最新文档