精品主页 | 软件下载 | 系统下载 | 精品导航| 精彩图片 | 转帖工具 | 版主申请 | 影视下载
发新话题
打印

vb列表框ListBox的使用

vb列表框ListBox的使用

文本框控件(TextBox)是VB中最常用的控件。它是显示和输入文本的容器,相当于一个文字编辑器,提供了所有基本的文字处理功能,例如文本的编辑等。在下面这个小程序中,我们能看到文本框控件(TextBox)的最基本的属性。

  为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:

Option Explicit
'--------------------------------------
' TextBox的常用属性的例子
'--------------------------------------
' 洪恩在线 求知无限
'--------------------------------------
'------名称-------------作用------------
' CmdClear 清除文本框内容按钮
' TextAll 文本框
' CmdOK 给窗体FormBack的TextAll文本框赋值
' FormTextBox 主窗体
'--------------------------------------
'--------------------------------------
'————文本框名称————属性设置———
'
' TextPassWord PassWordChar为 *
' TextResume Multiline为Ture, ScrollBars为2 -Vertical
' TextAll Multiline为Ture, ScrollBars为2 -Vertical
' Appearance为0 - Flat
'--------------------------------------


Private Sub CmdClear_Click()

'清除所有文本框中的内容
TextID.Text = ""
TextPassWord.Text = ""
TextName.Text = ""
TextMail.Text = ""
TextResume.Text = ""

End Sub

Private Sub CmdOK_Click()
'把FormTextBox文本框的Text及标签的Caption赋给
'窗体FormBack中TextAll文本框的Text属性
FormBack.TextAll.Text = LblID.Caption & " " & TextID.Text _
& vbNewLine & _
LblPassWord.Caption & " " & TextPassWord.Text _
& vbNewLine & _
LblName.Caption & " " & TextName.Text _
& vbNewLine & _
LblMail.Caption & " " & TextMail.Text _
& vbNewLine & _
LblResume.Caption & " " _
& vbNewLine & TextResume.Text

'其中vbNewline是使TextAll.Text换行显示
Load FormBack '载入窗体Formback
FormBack.Show '显示窗体Formback
FormTxtBox.Visible = False '设置窗体FormtextBox不可见

End Sub

(原程序下载)http://hongen.com/pc/program/tutors/vb/zip/vb0101.zip

这个例子的两个窗体界面如下:


主窗体(FormTxtBox)


窗体(FormBack)

我们首先新建一个标准的EXE工程。添加两个窗体,并把TextBox、Button、Label控件放置在窗体上。各文本框的名称如下表:


文本框名称
名称属性
文本框名称
名称属性

会员编号文本框
TextID
电子邮件文本框
TextMail

密码文本框
TextPassWord
个人介绍文本框
TextResume

姓名文本框
TextName
会员信息文本框
TextAll



  在属性窗口中将TextPassWord的PassWordChar属性设为*;TextResume的Multiline属性设为Ture,ScrollBars属性设为2 -Vertical;TextAll文本框的Multiline属性设为为Ture, ScrollBars属性设为2 -Vertical,Appearance属性设为为0 - Flat。

  下一步我们为FormTxtBox窗体中“确定”(CmdOK)和“清除”(CmdClear)按钮的Click事件中添加相应的程序。

  其中:

  TextID.Text = "" 是把会员编号文本框中的内容清空,其它语句与此类似。

  FormBack.TextAll.Text = LblID.Caption & " " & TextID.Text _ & vbNewLine &

  该语句设置FormBack窗体中TextAll文本框的文本。vbNewLine是换行显示标志。“ _”是续行标志,当语句一行写不下时使用此标志,但要注意:前面要加空格。

  代码写好之后,我们就可以保存工程,然后按“Ctrl+F5”键,测试检验一下我们的程序了。

TOP

列表框(ListBox)控件表示一个选项清单,用户可能用鼠标选择其中一个或者几个选项。

  列表框的特点是:列表框中的项目是通过程序插入到其中的,用户无法向清单中输入数据,当选择其中的项目,并在用户单击一个按钮或者执行某个操作时,由应用程序完成对指定项目的具体操作。下面这个例子充分说明了列表框的这个特点,并介绍了列表框(ListBox)的常用属性。

  为了学习方便,提供的源码已经作了详细的中文注释,看看源码框中的代码:

Option Explicit
'--------------------------------------
' 简单的列表框ListBox的例子
'--------------------------------------
' 洪恩在线 求知无限
'--------------------------------------
'------名称-------------作用------------
' List1、List2 列表框
' LefttoRightCmd 移动所选项目到另一个列表框(左到右)
' RighttoLeftCmd 移动所选项目到另一个列表框(右到左)
' List1MoveCmd 删除列表框List1中所选项目
' List2MoveCmd 删除列表框List2中所选项目
' List1AddCmd 给列表框List1增加新项目
' List2AddCmd 给列表框List2增加新项目
' List1ClearCmd 清空列表框List1
' List2ClearCmd 清空列表框List2
'--------------------------------------
'--------------------------------------
'————名称————属性设置———
'
' List1列表框 Sorted属性设为“False”
' List2列表框 Sorted属性设为“True”
' MultiSelect属性设置为2
' 即List2控件中的项目总是排序的
'--------------------------------------



Private Sub Form_Load()

'装载窗体时,给列表中的元素赋值
List1.AddItem "China"
List1.AddItem "America"
List1.AddItem "Japan"
List2.AddItem "Soccer"
List2.AddItem "Tennis"
List2.AddItem "Basketball"

End Sub

Private Sub LefttoRightCmd_Click()
'将左边列表中所选元素移动到右边列表中
If List1.ListIndex >= 0 Then

'在右边列表中增加新元素
List2.AddItem List1.Text

'删除左边列表中的所选元素
List1.RemoveItem List1.ListIndex

End If

End Sub

Private Sub List1AddCmd_Click()

Dim ListItem As String
'
ListItem = InputBox("在列表中输入新项目")
'向列表中加入新项目
If Trim(ListItem) <> "" Then
'Trim()作用是清除ListItem字符串内的空格

List1.AddItem ListItem
End If


End Sub

Private Sub List1ClearCmd_Click()

'清空列表
List1.Clear

End Sub

Private Sub List1MoveCmd_Click()

Dim i As Integer
'判断列表框是否只有一个项目被选中
If List1.SelCount = 1 Then

List1.RemoveItem List1.ListIndex

ElseIf List1.ListCount > 1 Then

'删除列表框中的所选中的多个项目
For i = List1.ListCount - 1 To 0 Step -1
'ListCount返回列表框中的项目总数
'ListCount-1是列表框中最后一个项目的索引号

'判断该项目是否被选中,Selected()返回布尔值
If List1.Selected(i) Then
'删除索引号为i的项目
List1.RemoveItem i

End If
Next
End If


End Sub


Private Sub List2AddCmd_Click()

'定义变量,以接收输入的字符串
Dim ListItem As String
ListItem = InputBox("在列表中输入新项目")

If Trim(ListItem) <> "" Then
'将字符串增加到列表中
List2.AddItem ListItem

End If


End Sub

Private Sub List2ClearCmd_Click()

'清空列表
List2.Clear

End Sub

Private Sub List2MoveCmd_Click()

Dim i As Integer
'判断所选 元素是否只有一个
If List2.SelCount = 1 Then

List2.RemoveItem List2.ListIndex
'如果所选 元素大于1,则按下列操作进行
ElseIf List2.ListCount > 1 Then
For i = List2.ListCount - 1 To 0 Step -1

If List2.Selected(i) Then
List2.RemoveItem i
End If
Next i
End If

End Sub

Private Sub RighttoLeftCmd_Click()

Dim i As Integer
'判断选中的元素有几个
If List2.SelCount = 1 Then

List1.AddItem List2.Text
List2.RemoveItem List2.ListIndex
'当选中的元素大于一个时
ElseIf List2.SelCount > 1 Then

For i = List2.ListCount - 1 To 0 Step -1
'如果该元素被选中,则将其从右边移至左边
If List2.Selected(i) Then

List1.AddItem List2.List(i)
List2.RemoveItem i
End If
Next i
End If

End Sub
(源程序下载)

这个例子包含一个窗体,窗体中有两个列表框(List1、List2)和八个按钮,界面如下:


窗体(FormListBox)

我们首先新建一个标准的EXE工程,添加一个窗体,并把列表框和按钮控件添加到窗体上。各按钮控件的名称如下表:

按钮名称
名称属性
按钮名称
名称属性

删除所选项目(左)
List1movecmd
删除所选项目(右)
List2movecmd

增加新项目(左)
List1addcmd
增加新项目(右)
List2addcmd

清除弄表(左)
List1clearcmd
清除列表(右)
List2clearcmd

右箭头 lefttorightcmd 左箭头 Righttoleftcmd


' List1列表框 Sorted属性设为“False” ' List2列表框 Sorted属性设为“True” ' MultiSelect属性设置为2 ' 即List2控件中的项目总是排序的

  在属性窗口中,将List1列表框 Sorted属性设为“False”;List2列表框 Sorted属性设为“True”,MultiSelect属性设置为2,即List2控件中的项目总是排序的。

  下一步我们为各控件添加相应的程序。

  其中:

  List1.AddItem "China" 是将“China”添加到列表框中。

  List1.ListIndex 返回的是列表框List1中当前选择项目的索引号码。

  List1.ListCount 返回的是列表框List1中项目总数。

  List1.ListCount - 1 返回列表框List1中最后一个项目的索引号。

  List1.Selected() 返回的是一个项目的选择状态,返回的是布尔值。

  代码写好之后,我们就可以保存工程,然后按“Ctrl+F5”键,测试检验一下我们的程序了。在这个小程序中,包含了列表框中的一般常用属性和方法。

TOP

发新话题