For i =0 to List2.ListCount - 1
    If List2.Selected(i) = True Then
       List2.RemoveItem i      '  .RemoveItem i 以后 .SelCount当然会减少了,这样子都不知道啊?
    End If
Next i

解决方案 »

  1.   

    crystal_heart(笑看风云),偶是神狐真因为他不知道才问嘛,还请多多帮助一些初学者
      

  2.   


    要清楚ListBox里面的所有项目,为什么不用.Clear方法?一个方法就马上把所有项目清除了。如果你非得要用循环语句来一个一个删除,可以考虑这样删除:
    Private Sub Command2_Click()
            
            Dim iItem As Integer
            With List1
                For iItem = .ListCount - 1 To 0 Step -1
                    .RemoveItem iItem
                Next
            End With
            
    End Sub
      

  3.   

    你这样做的问题在于,每当你删除一个项目,该ListBox的项就会减少一个,.Count就减少一,这样问题就来了。你可以用逐步调试(F8)来一步一步地观察该ListBox的Count与ListIndex量就清楚了。