用VB做一个列表框向另外的列表框中添加选项并不是一件复杂的事情,在此向各位初学者(包括自己在内^_^)介绍一下如何用列表框的属性和事件来实现这个功能。
新建一个标准EXE工程,在屏幕上会出现一个空白的窗体,向窗体上添加两个ListBox控件、二个Frame控件、四个CommandButton控件和二个OptionButton控件,添加控件后的窗体如图1所示。

图1
二、控件属性及设置列表:

图2
提示:MultiSelect设置为“2-Extended”就实现用Ctrl键和Shift键来选择列表中的内容。
三、程序的代码分别如下:
'1.开始执行程序时,调用程序声明段中的代码:
Dim flag(100) As Boolean, ff As Boolean
Dim i, g As Integer
'2.双击控件Command1,在代码窗口中的光标就会自动的跳转到控件Command1的
Command1_Click()事件处,在该事件中添加下列代码:
Private Sub Command1_Click() '添加…>>
If ff = True Then
For i = 0 To List1.ListCount - 1
If flag(i) = 0 And List1.Selected(i) Then '判断选项的选中状态
List2.AddItem List1.List(i) '向控件list2添加选项
flag(i) = 1
Call mun '调用统计列表个数
End If
Next i
End If
If ff = False Then
For i = List1.ListCount - 1 To 0 Step -1
If List1.Selected(i) Then '判断选项的选中状态
List2.AddItem List1.List(i) '向控件list2添加内容
List1.RemoveItem (i)
Call mun '调用统计列表个数
End If
Next i
End If
End Sub
'3.双击Command2控件,并输入如下代码:
Private Sub Command2_Click() '全部添加
If ff = True Then
For i = 0 To List1.ListCount - 1
If flag(i) = 0 Then
List2.AddItem List1.List(i) '将已选项追加到list2中
flag(i) = 1
Call mun
End If
Next i
End If
If ff = False Then
For i = List1.ListCount - 1 To 0 Step -1
List2.AddItem List1.List(i) '将已选项追加到list2中
List1.RemoveItem (i) '删除已选项
Call mun
Next i
End If
End Sub
'4.双击Command3控件,并输入如下代码:
Private Sub Command3_Click() '全部删除
If ff = True Then
For i = 0 To List2.ListCount - 1
flag(i) = 0
Call mun
Next i
List2.Clear
End If
If ff = False Then
For i = List2.ListCount - 1 To 0 Step -1
List1.AddItem List2.List(i)
List2.RemoveItem (i)
Call mun
Next i
End If
End Sub
'5.双击Command4控件,并输入如下代码:
Private Sub Command4_Click() '删除

图3

图4
此文发布于:百家学院 (http://www.9php.com),复制请保留此行.
·上一篇:已经没有了 · 下一篇:初探Delphi中的插件编程

