扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
用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() ''删除<<…
If ff = True Then
For i = List2.ListCount - 1 To 0 Step -1
If List2.Selected(i) Then ''判断选项的选中状态
For q = 0 To List1.ListCount - 1
If List2.List(i) = List1.List(q) Then
flag(q) = 0 ''如与原数据相同则置为可选
End If
Next q
List2.RemoveItem (i) ''删除所选项
Call mun
End If
Next i
End If
If ff = False Then
For i = List2.ListCount - 1 To 0 Step -1
If List2.Selected(i) Then
List1.AddItem List2.List(i)
List2.RemoveItem (i)
Call mun
End If
Next i
End If
End Sub
''6.双击Form1窗体,并输入窗体的初始化代码:
Private Sub Form_Load()
ff = True
Call Init
Call mun ''调用统计列表个数的函数
Frame1.Caption="功能转换"
Frame2.Caption = ""
Option1(0).ToolTipText = "实现只向List2控件添加内容并不删除原内容"
Option1(1).ToolTipText = "实现向List2控件添加内容并将其原内容删除"
Me.Icon = LoadPicture("") ''标题栏没图标显示
Me.Caption = "列表框应用技巧 [威龙工作室]"
End Sub
''7.选择Form1的“Unload”并输入下列代码:
Private Sub Form_Unload(Cancel As Integer)
Unload Me ''结束程序
End Sub
''8.选择List1控件的“DblClick”并输入下列代码:
Private Sub List1_DblClick()
Command1_Click ''实现双击添加
End Sub
''9.选择List2控件的“DblClick”并输入下列代码:
Private Sub List2_DblClick()
Command4_Click ''实现双击删除
End Sub
'' 提示:各位在执行某个程序时,想执行某个程序的代码,可以如上述第8和第9段代码一样就可以执行添加按钮和删除按钮相同的工作了。
''10.双击Option1控件,并输入下列代码来实现功能转换:
Private Sub Option1_Click(Index As Integer)
Select Case Index
Case 0
ff = True
Call Init
Call mun
Case 1
ff = False
Call Init
Call mun
End Select
End Sub
''11.分别统计出两个列表框中数据的个数:
Private Sub mun()
Label1.Caption = "列表框元素个数:" & List1.ListCount
Label2.Caption = "列表框元素个数:" & List2.ListCount
End Sub
''12.初始化列表框的内容:
Private Sub Init()
For i = 0 To List1.ListCount - 1
flag(i) = 0
Next i
List1.Clear ''清除List1控件
''初始化控件List1信息
List1.AddItem "北京"
List1.AddItem "广州"
List1.AddItem "上海"
List1.AddItem "台湾"
List1.AddItem "香港"
List1.AddItem "大连"
List1.AddItem "澳门"
List1.AddItem "深圳"
List1.AddItem "成都"
List1.AddItem "西藏自治区"
List1.AddItem "云南"
List1.AddItem "桂林"
List1.AddItem "内蒙古自治区"
List1.AddItem "重庆"
List1.AddItem "哈尔滨"
List1.AddItem "天津"
List1.AddItem "海南岛"
List1.AddItem "珠海"
List1.AddItem "中山"
List1.AddItem "钓鱼台"
List1.AddItem "天津"
List1.AddItem "宁夏回族自治区"
List2.Clear ''清空控件List2内容
End Sub
写完上面全部的源代码后,按F5键运行程序(如图3和图4所示)你就可以看到功能一和功能二到底有什么区别了。
图3
图4
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者