例如 listbox 里面有
A
B
C
Dfocus 在B, 删除后focus 自动向下移到C 怎么实现?`我写的:
listforce.removeitem listforce.listindex
删完之后 focus 就丢失掉了。 
 

解决方案 »

  1.   

    下面加一句 List1.Selected(i) = True  ‘i是你要获得焦点的项的Index
      

  2.   

    Private Sub Command1_Click()
        Dim intTemp As Integer
        
        intTemp = List1.ListIndex
        List1.RemoveItem List1.ListIndex
        List1.SetFocus
        List1.ListIndex = intTemp
        
    End Sub
      

  3.   

    这样就可以Private Sub Command1_Click()
        Dim intTemp As Integer
        
        intTemp = List1.ListIndex
        List1.RemoveItem List1.ListIndex
        List1.ListIndex = intTemp
        
    End Sub
      

  4.   

    Private Sub List1_KeyDown(KeyCode As Integer, Shift As Integer)
        Dim IntI As Integer
        If List1.ListIndex < 0 Then Exit Sub
        IntI = List1.ListIndex
        Select Case KeyCode
        Case VBRUN.KeyCodeConstants.vbKeyDelete, VBRUN.KeyCodeConstants.vbKeyBack
            List1.RemoveItem (IntI)
            List1.SetFocus
            If List1.List(IntI) <> "" Then
                List1.Selected(IntI) = True
            Else
                List1.Selected(List1.ListCount - 1) = True
            End If
        End Select
    End Sub