Dim temp As New Collection Private Sub Command1_Click() Set temp = Nothing On Error Resume Next For i = 0 To List1.ListCount - 1 If List1.Selected(i) = True Then temp.Add i, List1.List(i) List2.AddItem List1.List(i) List1.RemoveItem i End If Next End SubPrivate Sub Command2_Click() On Error Resume Next For i = 0 To List2.ListCount If List2.Selected(i) = True Then List1.AddItem List2.List(i), Val(temp(List2.List(i))) List2.RemoveItem i End If Next End SubPrivate Sub Form_Load() List1.Clear List2.Clear For i = 1 To 100 List1.AddItem i & i Next End Sub
'在属性窗口设置list1,list2的sorted属性为true Private Sub Command1_Click() If List1.ListIndex >= 0 Then List2.AddItem List1.List(List1.ListIndex) List1.RemoveItem List1.ListIndex End If End SubPrivate Sub Command2_Click() If List2.ListIndex >= 0 Then List1.AddItem List2.List(List2.ListIndex) List2.RemoveItem List2.ListIndex End If End SubPrivate Sub Form_Load() List1.AddItem "A" List1.AddItem "B" List1.AddItem "C" List1.AddItem "D" List1.AddItem "E" List1.AddItem "F" List1.AddItem "G" End Sub Private Sub List1_DblClick() Command1_Click End SubPrivate Sub List2_DblClick() Command2_Click End Sub
Dim arrList() As String Private Sub Command1_Click() If List1.ListIndex >= 0 Then List2.AddItem List1.List(List1.ListIndex) List1.RemoveItem List1.ListIndex '两个都排序 sortList List1 sortList List2 End If End SubPrivate Sub Command2_Click() If List2.ListIndex >= 0 Then List1.AddItem List2.List(List2.ListIndex) List2.RemoveItem List2.ListIndex '两个都排序 sortList List1 sortList List2 End If End SubPrivate Sub Form_Load() List1.AddItem "A" List1.AddItem "B" List1.AddItem "C" List1.AddItem "D" List1.AddItem "E" List1.AddItem "F" List1.AddItem "G" End Sub Private Sub List1_DblClick() Command1_Click End SubPrivate Sub List2_DblClick() Command2_Click End Sub Private Sub sortList(sortList As ListBox) Dim i As Integer Dim iCount As Integer
iCount = sortList.ListCount ReDim arrList(iCount) For i = 0 To iCount - 1 arrList(i) = sortList.List(i) Next
'对arrlist数组进行相应排序(比如起泡,快速等等,这不用写了吧!)
sortList.Clear For i = 0 To iCount sortList.List(i) = arrList(i) NextEnd Sub
-----------------------------------------------------------------------------
修改list.listIndex属性,使它等于转入前的属性。当然要用一个变量纪录转移前的list.listIndex 的植。
Private Sub Command1_Click()
Set temp = Nothing
On Error Resume Next
For i = 0 To List1.ListCount - 1
If List1.Selected(i) = True Then
temp.Add i, List1.List(i)
List2.AddItem List1.List(i)
List1.RemoveItem i
End If
Next
End SubPrivate Sub Command2_Click()
On Error Resume Next
For i = 0 To List2.ListCount
If List2.Selected(i) = True Then
List1.AddItem List2.List(i), Val(temp(List2.List(i)))
List2.RemoveItem i
End If
Next
End SubPrivate Sub Form_Load()
List1.Clear
List2.Clear
For i = 1 To 100
List1.AddItem i & i
Next
End Sub
Private Sub Command1_Click()
If List1.ListIndex >= 0 Then
List2.AddItem List1.List(List1.ListIndex)
List1.RemoveItem List1.ListIndex
End If
End SubPrivate Sub Command2_Click()
If List2.ListIndex >= 0 Then
List1.AddItem List2.List(List2.ListIndex)
List2.RemoveItem List2.ListIndex
End If
End SubPrivate Sub Form_Load()
List1.AddItem "A"
List1.AddItem "B"
List1.AddItem "C"
List1.AddItem "D"
List1.AddItem "E"
List1.AddItem "F"
List1.AddItem "G"
End Sub
Private Sub List1_DblClick()
Command1_Click
End SubPrivate Sub List2_DblClick()
Command2_Click
End Sub
Private Sub Command1_Click()
If List1.ListIndex >= 0 Then
List2.AddItem List1.List(List1.ListIndex)
List1.RemoveItem List1.ListIndex
'两个都排序
sortList List1
sortList List2
End If
End SubPrivate Sub Command2_Click()
If List2.ListIndex >= 0 Then
List1.AddItem List2.List(List2.ListIndex)
List2.RemoveItem List2.ListIndex
'两个都排序
sortList List1
sortList List2
End If
End SubPrivate Sub Form_Load()
List1.AddItem "A"
List1.AddItem "B"
List1.AddItem "C"
List1.AddItem "D"
List1.AddItem "E"
List1.AddItem "F"
List1.AddItem "G"
End Sub
Private Sub List1_DblClick()
Command1_Click
End SubPrivate Sub List2_DblClick()
Command2_Click
End Sub
Private Sub sortList(sortList As ListBox)
Dim i As Integer
Dim iCount As Integer
iCount = sortList.ListCount
ReDim arrList(iCount)
For i = 0 To iCount - 1
arrList(i) = sortList.List(i)
Next
'对arrlist数组进行相应排序(比如起泡,快速等等,这不用写了吧!)
sortList.Clear
For i = 0 To iCount
sortList.List(i) = arrList(i)
NextEnd Sub