你们遇到过这种事吗。
我是VB 6.0环境。如果这个属性用不了,那么怎么判断ListBox是否被选择了行呢?

解决方案 »

  1.   

    不会。检查你的初始化代码,看是否设置了 Index。
      

  2.   

    今天早上我又试了一下,发现如下奇怪现象:事实的是,列表框中有多行,肯定一行没有选。
    列表框的MultiSelect属性,如果是0,就是只能选一行,这时ListIndex就是-1;
    MultiSelect如果是1,就是可以选多行,这时ListIndex就是0。还在进一步研究中……
      

  3.   

    看来ListIndex靠不住,我就用List1.SelCount 返回在 ListBox 控件中被选中项的数量
    属性。
      

  4.   

    ListIndex 属性语法包含下面部分:部分 描述 
    object 对象表达式,其值是“应用于”列表中的一个对象。 
    index 数值表达式,指定当前项目的索引,“设置值”中有详细说明。 
    设置值index 的设置值为:设置值 描述 
    -1 (ComboBox、DirListBox 和 DriveListBox 控件的缺省值)表示当前没有选择项目;对于 ComboBox 控件,表示用户向文本框部分输入了新文本;对于 DirListBox 控件,表示当前路径的索引。对 DriveListBox 控件,表示在运行时创建该控件时的当前驱动器的索引。 
    n (FileListBox 和 ListBox 控件的缺省值)表明当前选择项目的索引。 
    说明 表达式 List(List1.ListIndex) 返回当前选择项目的字符串。列表中的第一项是 ListIndex = 0,ListCount 始终比最大的 ListIndex 值大 1。对于可以做多重选择的控件,该属性的行为取决于所选择项目的个数。如果只选择了一个项目,ListIndex 返回该项目的索引。在多重选择中,ListIndex 返回包含在焦点矩形内的项目的索引,而不管该项目是否被选。