两个ListBox,分别是左边的ListBox1和右边的ListBox2。
点击全部添加按纽后(第二个),左边的项与右边的项进行一个对比。如果右边ListBox里面已经含有这项了,则不添加,提示项已经存在了;如果右边的ListBox里面没有这项,则在它原有的项后面插入。j = List2.ListCount
For i = 0 To List1.ListCount - 1 Step 1
List2.AddItem List1.List(i), j
j = j + 1
Next i
点击全部添加按纽后(第二个),左边的项与右边的项进行一个对比。如果右边ListBox里面已经含有这项了,则不添加,提示项已经存在了;如果右边的ListBox里面没有这项,则在它原有的项后面插入。j = List2.ListCount
For i = 0 To List1.ListCount - 1 Step 1
List2.AddItem List1.List(i), j
j = j + 1
Next i
解决方案 »
- 怎样使放入相册的照片或图片按不同格式自动编号?
- 如何把ACCESS数据库的菜单栏工具栏屏蔽掉?,
- 真是奇怪了,我怎么看不见回复的呢?
- 局域网客户端0.5秒钟刷新一次服务器数据库是否可行?以便及时得到服务器中的新数据并显示在客户端自己的界面上。客户端一共有15个,数据库中的记录2万条左右。
- 封装程序的问题
- 如何总是向一个窗口发消息
- 急:DTPicker日期控件是如何将日期转化为整数来存放的?(几周了都没有找出规律)
- 为何ACTIVEREPORT 2.0 会出现自动化错误?
- vb.net中是否有象VB6中的数据环境一样的组件
- 谁知道 文本是什么格式 最小单位是什么呢?
- 用VB如何实现自动读取DVD光驱文件并播放?
- 窗口最大化时控件Resize的问题
for i = 0 to list1.listcount - 1
for j = 0 to list2.listcount - 1
if list2(j) = list(1) then
msgbox "重复!"
exit for
else
list2.additme list1.list(i)
endif
next
next
For i=0 to List1.ListCount-1
if List1.Selected(i)=True then '凡是选中的就添加(不能重复)
for j=0 to List2.ListCount-1
if trim(List2.List(j))<>trim(List1.List(i)) then
List2.AddItem List1.List(i)
List2.refresh
endif
next
endif
next 2、下面这个是你选择全部添加List1中的项(也就是你点击全部添加按纽):dim i as Long,j as long
For i=0 to List1.ListCount-1
for j=0 to List2.ListCount-1
if trim(List2.List(j))<>trim(List1.List(i)) then
List2.AddItem List1.List(i)
List2.refresh
else
debug.print "第" & trim(str(i))& "项已经存在!"
endif
next
next
假如数据是以下:
listbox1 listbox2
1 3
2 4
3 5
用二楼的算法操作以后,会添加3个1,6个2,所以肯定是不正确的。^_^另外,你的list2(j) = list(1)应该写成 List2.List(j) = List1.List(i)吧?虽然知道你的本意是对的,但咱们写代码的,就应该严谨一点,不是吗?
不信,你用
listbox1 listbox2
1 3
2 4
3 5试一下,出来3个1,6个2,11个3。看来这个问题真的值得我们深究!
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long
Private Const LB_FINDSTRING = &H18FPrivate Sub Command1_Click()
Dim I As Long
For I = 0 To List1.ListCount - 1
If SendMessage(List2.hwnd, LB_FINDSTRING, -1, ByVal CStr(List1.List(I))) <= 0 Then
List2.AddItem List1.List(I)
End If
Next I
End Sub