分别在两个listbox的click事件里写代码list1_click
list2.listindex=list1.listindexlist2_click
list1.listindex=list2.listindex注意:要保证两个listbox的记录一样多,否则要加错误判断,防止异常错误出现

解决方案 »

  1.   

    'Add Two ListBox(List1、List2)
    'Add Five CommandButton(cmdAdd、cmdAddAll、cmdDel、cmdDelAll、cmdClose)'选择一条
    Private Sub cmdAdd_Click()    Dim nIndex As Integer
        lstDest.AddItem lstSource.Text
        lstDest.ListIndex = lstDest.NewIndex
        nIndex = lstSource.ListIndex
        lstSource.RemoveItem nIndex
        If nIndex <= lstSource.ListCount - 1 Then
            lstSource.ListIndex = nIndex
        ElseIf nIndex = lstSource.ListCount Then
            lstSource.ListIndex = nIndex - 1
        Else
            lstSource.ListIndex = -1
        End If
        Call ButtonsStatus
        
    End Sub
    '选择全部
    Private Sub cmdAddAll_Click()    Dim i As Integer
        i = 0
        Do While i < lstSource.ListCount
            lstDest.AddItem lstSource.List(i)
            i = i + 1
        Loop
        lstSource.Clear
        If lstDest.ListCount > 0 Then
            lstDest.ListIndex = 0
        End If
        Call ButtonsStatus
        
    End Sub
    '关闭窗体
    Private Sub cmdClose_Click()    Unload Me
        
    End Sub
    '删除一条
    Private Sub cmdDel_Click()
        
        Dim nIndex As Integer
        lstSource.AddItem lstDest.Text
        lstSource.ListIndex = lstSource.NewIndex
        nIndex = lstDest.ListIndex
        lstDest.RemoveItem nIndex
        If nIndex <= lstDest.ListCount - 1 Then
            lstDest.ListIndex = nIndex
        ElseIf nIndex = lstDest.ListCount Then
            lstDest.ListIndex = nIndex - 1
        Else
            lstDest.ListIndex = -1
        End If
        Call ButtonsStatus
        
    End Sub
    '删除所有
    Private Sub cmdDelAll_Click()    Dim i As Integer
        i = 0
        Do While i < lstDest.ListCount
            lstSource.AddItem lstDest.List(i)
            i = i + 1
        Loop
        lstDest.Clear
        If lstSource.ListCount > 0 Then
            lstSource.ListIndex = 0
        End If
        Call ButtonsStatus
        
    End Sub
    '初始化源ListBox内容
    Private Sub InitlstSource()
        
        Dim i As Integer
        For i = 1 To 12
            lstSource.AddItem "Item" & Format(i)
        Next i
        lstSource.ListIndex = 0
        
    End Sub
    '设置按钮状态
    Private Sub ButtonsStatus()
        
        If lstSource.ListIndex < 0 Then
            cmdAdd.Enabled = False
            cmdAddAll.Enabled = False
        Else
            cmdAdd.Enabled = True
            cmdAddAll.Enabled = True
        End If
        If lstDest.ListIndex < 0 Then
            cmdDel.Enabled = False
            cmdDelAll.Enabled = False
        Else
            cmdDel.Enabled = True
            cmdDelAll.Enabled = True
        End If
        
    End Sub
    '加载窗体
    Private Sub Form_Load()
        
        Call InitlstSource
        Call ButtonsStatus
        
    End Sub
      

  2.   

    再问一个问题,listbox里只有Additem和removeitem,我怎么才能直接修改某一项的内容?
      

  3.   

    List1.List(i)=strModify(要修改成的字符串)
      

  4.   

    Dim i As Integer
        For i = 0 To 3
            List1.AddItem CStr(i), i
        Next i
        '修改
        List1.List(1) = "22"