可以简单的用this.listview1.selectItem就可以了啊

解决方案 »

  1.   

    如果你想选择当前项的话,用selectItem
    如果你想编程选择某一项的话用:
    //Make sure the listview has focus 
     
    listView1.Focus(); 
     
    listView1.Items[i].Selected = true;
     
      

  2.   

    可是我想要的是它的Index,用SelectItem的话好象有些怪怪的。
      

  3.   

    我试过了,SelectItem是不带Index属性的。
    我只要个当前Index,拜托啦!
      

  4.   

    selectItems有什么奇怪的嘛,那你就用this.lstField.SelectedIndices
      

  5.   

    if (lvSchemeList.SelectedIndices.Count>0)
    {
        lvSchemeList.Items[lvSchemeList.SelectedIndices[0]];//当前选择项
    }
      

  6.   

    再试了一次,还是不行。我还是把我的问题再详细地说一下吧!我的form中有一个ListView,里面有8个Item,然后还有一个TextBox。我的要求是:ListView不能多选,只能单选;根据每次选择项的不同,从配置文件里读取相应的数值显示在TextBox中。也就是说,TextBox的内容是根据ListView选择项的索引值而改变的。前面我已经说过:我原先的做法是在ListView的SelectedIndexChanged事件中响应,而这个事件是正当Index发生变化的时候发生的,也就是说,我在Index变化的过程中却想读取Index。这也就解释了为什么SelectedItems和SelectedIndices用起来会有些奇怪;但在List模式下可以用FocusedItem而在Details模式下不行却仍是无法解释。大家帮帮我吧!分不够我可以再加的。
      

  7.   

    ListView1.SelectedItems[0].Tag.ToString()用这个不好吗?
      

  8.   

    ListView1.SelectedItem.Value
    难道不行??
      

  9.   

    怎么我说得不够清楚吗?同志们呀!我要的是Index,是Index呀~~~
    我不需要改变ListView的值,也不要读取其他什么东西,我只要Index,就那么个INT32的值...
      

  10.   

    listview.FocusedItem.Index呵呵,应该可以吧?
      

  11.   

    我在楼顶就写了呀!我原先用的就是这方法,可是当我的ListView从View改为Details时便会出错了。
      

  12.   

    我将代码再仔细看了一次,终于发现了问题所在。大家请看看,以下就是我原来的代码:
    int nIndex = 0;
    nIndex = this.lstItems.FocusedItem.Index;就这么简单的两句,却抛出了NullReferenceException,说“未将对象引用设置到对象的实例”。我不是很明白:lstItems是我放置在窗口中的控件,本来就是ListView的一个实例,这句话到底是怎么回事?大家再看看,这是我修正后的代码:
    int nIndex = 0;
    try
    {
        nIndex = this.lstItems.FocusedItem.Index;
    }
    catch(NullReferenceException ex)
    {
        //MessageBox.Show(ex.ToString());
    }这样写程序就能非常顺畅地运行了。可是这样子做也太唬弄人了吧?谁能把这道理解释清楚吗?感激不尽呀!PS:版主们都那去啦?来帮帮忙嘛!急呀!