要求:最初左列表框内有一部分内容,然后点击 右移动 将选中的相应内容 平移 过去,点击 左移动 后可 平移回去。
全左移 及 全右移 也有相应的功能

解决方案 »

  1.   


    Private Sub Command1_Click(Index As Integer)
        Screen.MousePointer = 11
        Select Case Index
            Case 0  '将选择的列表项从List1移到List2
                If List1.ListCount = 0 Then
                    Screen.MousePointer = 0
                    Exit Sub
                End If
                '如果List1中没有列表项则退出
                If List1.ListIndex = -1 Then
                    List1.SetFocus
                    List1.Selected(0) = True
                End If
                '如果List1中没有选中的列表项则选择第一个列表项
                DoEvents
                List2.AddItem List1.Text
                List1.RemoveItem List1.ListIndex
                '将选择的列表项从List1移到List2
            Case 1    '将List1的所有列表项移到List2中
                If List1.ListCount = 0 Then
                    Screen.MousePointer = 0
                    Exit Sub
                End If
                '如果List1中没有列表项则退出
                If List1.ListIndex = -1 Then
                    List1.SetFocus
                    List1.Selected(0) = True
                End If
                '如果List1中没有选中的列表项则选择第一个列表项
                DoEvents
                For i = (List1.ListCount - 1) To 0 Step -1
                    List2.AddItem List1.List(i)
                    DoEvents
                Next i
                '将List1的所有列表项添加到List2中
                List1.Clear
                '删除List1中的所有列表项        Case 2  '将选择的列表项从List2移到List1
                If List2.ListCount = 0 Then
                    Screen.MousePointer = 0
                    Exit Sub
                End If
                '如果List2中没有列表项则退出
                If List2.ListIndex = -1 Then
                    List2.SetFocus
                    List2.Selected(0) = True
                End If
                '如果List2中没有选中的列表项则选择第一个列表项            List1.AddItem List2.Text
                List2.RemoveItem List2.ListIndex
                '将选择的列表项从List2移到List1        Case 3 '将List2的所有列表项移到List1中
                If List2.ListCount = 0 Then
                    Screen.MousePointer = 0
                    Exit Sub
                End If
                If List2.ListCount = 0 Then Exit Sub
                If List2.ListIndex = -1 Then
                    List2.SetFocus
                    List2.Selected(0) = True
                End If
                For i = (List2.ListCount - 1) To 0 Step -1
                    List1.AddItem List2.List(i)
                    DoEvents
                Next i
                List2.Clear
        End Select
        Screen.MousePointer = 0
    End Sub
     
    Private Sub Form_Load()
        List1.AddItem "姓名", 0
        List1.AddItem "性别", 1
        List1.AddItem "年龄", 2
        List1.AddItem "籍贯", 3
        List1.AddItem "文化程度", 4
    End Sub
      

  2.   

    结帖吧你
    If 本楼给分 Then
        楼主木有小jj
    End If
      

  3.   

    ++++++++++++++1
    代码中好多内容我们还没有学到……
    引用 3 楼 yiguangqiang88 的回复:结帖吧你
    VB code
    哈哈哈哈哈哈