Private Sub cmdRemove_Click ()
   Dim Ind As Integer   Ind = lstClient.ListIndex   '获取索引。
   '确保选定列表项目。
   If Ind >= 0 Then
      '将其从列表中删除。
      lstClient.RemoveItem Ind
      '显示数目。
      lblDisplay.Caption = lstClient.ListCount
   Else
      Beep
   End If
   '若列表中没有项目,则禁用此按钮。
   cmdRemove.Enabled = (lstClient.ListIndex <> -1)
End Sub请问最后一句cmdRemove.Enabled = (lstClient.ListIndex <> -1)中
(lstClient.ListIndex <> -1)是什么意思为什么是不等于-1?listindex不是一直不等于-1吗?最小为0,那么就是说 cdRemove一直为Enabled?

解决方案 »

  1.   

    list控件的listindex初始值为-1
    你可以试试
    新建 一个工程,添加一个list和一个command
    Private Sub Command2_Click()
    MsgBox List1.ListIndex
    End Sub则显示为-1
      

  2.   

    当你未选中list中的一项的时候,list.listindex值也为-1
      

  3.   

    也就是说当你未选中其中一项时,cmdRemove是不可用的。
      

  4.   

    list控件的listindex初始值为-1
      

  5.   

    当你无选中项的时候,listindex值为-1
      

  6.   

    <>1是表示你的列表框里没有选择任何项目~~~