aaa=0 for i=0 to list2.listcount-1 if aaa=0 and list2.list(i)=list1.list(list1.listindex) then aaa=1 else list2.additem list1.list(list1.listindex) end if next贴在list1的click事件里,自己体会~~
Private Sub cmd_select_table_Click() If lst_Tables.ListIndex <> -1 Then lst_select_table.AddItem lst_Tables.List(lst_Tables.ListIndex)
不用API,只用VB代码写lstColStName和lstColEdName两个ListBox Private Sub lstColStNameAboutlstColConEndName(ByVal i As Integer) '函数名:lstColStNameAboutlstColEndName '入口参数:i as integer ' 1、lstColStName向lstColEdName传字段名 ' 2、lstColEdName减少字段名 '出口参数:无 '功能:lstColStName与colEdName之间的数据传递 '编写日期:2002.8.27 '编写人:yuiee '备注:lstColStName或lstColEdName中必须有内容,本函数不提供这方面出错处理 On Error GoTo errend Select Case i Case 1 Dim j As Integer '多重先判断 For j = 0 To lstColStName.ListCount - 1 Dim m As Integer '当为选中项目时 If lstColStName.Selected(j) Then Dim bTmp As Boolean bTmp = False '存在标识 'lstColEdName中是否存在判断 For m = 0 To lstColEdName.ListCount - 1 If lstColStName.List(j) = lstColEdName.List(m) Then bTmp = True End If Next m If bTmp = False Then '存在时 '向lstColEdName添加 lstColEdName.AddItem (lstColStName.List(j)) End If End If Next j Case 2 '多重选择判断 For j = lstColEdName.ListCount - 1 To 0 Step -1 If j = 0 Then j = j End If If lstColEdName.Selected(j) Then 'MFGridCon重赋值 Dim n, nTmp, nNum As Integer Dim arryTmp() As Integer ReDim arryTmp(0) nNum = 0 nTmp = 0 'lstColEdName移除 lstColEdName.RemoveItem (j) End If Next j End Select Exit Sub errend:
End SubPrivate Sub lstColEdName_DblClick() lstColStNameAboutlstColConEndName (2)'删 End SubPrivate Sub lstColStName_DblClick() lstColStNameAboutlstColConEndName (1)'添 End Sub
lysamper(梁好汉) : 直接粘到list1的click事件里: For I = 0 To List2.ListCount - 1 If List2.List(I) = List1.List(List1.ListIndex) Then Exit Sub Next List2.AddItem List1.List(List1.ListIndex)经过测试好使的
if list1.listindex <> list2.list(i).text then
list2.additem list1.list(list1.listindex)
就是专门讲这个的,去看看
for i=0 to list2.listcount-1
if aaa=0 and list2.list(i)=list1.list(list1.listindex) then
aaa=1
else
list2.additem list1.list(list1.listindex)
end if
next贴在list1的click事件里,自己体会~~
Private Sub cmd_select_table_Click()
If lst_Tables.ListIndex <> -1 Then
lst_select_table.AddItem lst_Tables.List(lst_Tables.ListIndex)
End If
End Sub
,你这个方法肯定是不行的,freehorse_1981哥们用api函数,是不是觉得太麻烦了,难道就没有更简单的办法了码??
Private Sub lstColStNameAboutlstColConEndName(ByVal i As Integer)
'函数名:lstColStNameAboutlstColEndName
'入口参数:i as integer
' 1、lstColStName向lstColEdName传字段名
' 2、lstColEdName减少字段名
'出口参数:无
'功能:lstColStName与colEdName之间的数据传递
'编写日期:2002.8.27
'编写人:yuiee
'备注:lstColStName或lstColEdName中必须有内容,本函数不提供这方面出错处理
On Error GoTo errend
Select Case i
Case 1
Dim j As Integer
'多重先判断
For j = 0 To lstColStName.ListCount - 1
Dim m As Integer
'当为选中项目时
If lstColStName.Selected(j) Then
Dim bTmp As Boolean
bTmp = False '存在标识
'lstColEdName中是否存在判断
For m = 0 To lstColEdName.ListCount - 1
If lstColStName.List(j) = lstColEdName.List(m) Then
bTmp = True
End If
Next m
If bTmp = False Then '存在时
'向lstColEdName添加
lstColEdName.AddItem (lstColStName.List(j)) End If
End If
Next j
Case 2
'多重选择判断 For j = lstColEdName.ListCount - 1 To 0 Step -1
If j = 0 Then
j = j
End If
If lstColEdName.Selected(j) Then
'MFGridCon重赋值
Dim n, nTmp, nNum As Integer
Dim arryTmp() As Integer
ReDim arryTmp(0)
nNum = 0
nTmp = 0
'lstColEdName移除
lstColEdName.RemoveItem (j) End If Next j
End Select
Exit Sub
errend:
End SubPrivate Sub lstColEdName_DblClick()
lstColStNameAboutlstColConEndName (2)'删
End SubPrivate Sub lstColStName_DblClick()
lstColStNameAboutlstColConEndName (1)'添
End Sub
直接粘到list1的click事件里: For I = 0 To List2.ListCount - 1
If List2.List(I) = List1.List(List1.ListIndex) Then Exit Sub
Next
List2.AddItem List1.List(List1.ListIndex)经过测试好使的