int index = 0;
ListViewItem lvi = new ListViewItem("ItemName");
index = this.listView.Items.IndexOf(lvi);
这里index一直得到的是-1, 但是this.listView中确实是有"ItemName"的啊?问题到底出哪里了?

解决方案 »

  1.   

    你太逗了,item都没添加到listview,你查啥            int index = 0;
                ListViewItem lvi = new ListViewItem("ItemName");
                this.listView.Items.Add(lvi);
                index = this.listView.Items.IndexOf(lvi);
      

  2.   

    添加过的 在另外一个函数里面,
    public void UpdateData(Hashtable hstb)
            {
                this.listView.Items.Clear();
                foreach (DictionaryEntry de in hstb)
                {
                    ListViewItem lvi = new ListViewItem(new string[] { (string)de.Key}); // de.key中包含"ItemName"
                    this.listView.Items.Add(lvi);
                    this.listView.Sorting = SortOrder.Ascending;
                    this.listView.Sort();
                }
            }private void insertToolStripMenuItem_Click(object sender, EventArgs e)
            {
                this.UpdateData(hstbList);
                this.listView.Select();
                
                int index = 0;
                ListViewItem lvi = new ListViewItem("ItemName");
                index = this.listView.Items.IndexOf(lvi);    // index 一直返回-1
                this.listView.Items[index].Selected = true;
            }
      

  3.   

    观察了一下 发现问题出在 insertToolStripMenuItem_Click 如果不运行完,那么listView中就没有"ItemName"
    但this.UpdateData(hstbList); 运行后 listView中就应该加入"ItemName"了啊为什么一定要insertToolStripMenuItem_Click 退出后  "ItemName"才加入成功呢
      

  4.   

    int index = 0;
     ListViewItem lvi = new ListViewItem("ItemName");-------------为什么还要实例化一个lvi,感觉有问题
      index = this.listView.Items.IndexOf(lvi);    // index 一直返回-1
      this.listView.Items[index].Selected = true;
      

  5.   


    只是作用域在insertToolStripMenuItem_Click中而已
      

  6.   

    太郁闷了添加了一条 this.listViewSeq.Refresh();这样在给index赋值之前, "ItemName" 已经显示在listView中了,但是还是返回-1
      

  7.   

    int index = 0;
      ListViewItem lvi = new ListViewItem("ItemName]  //实例化
       //中间加入 listview.items.add(lvi);
       index = this.listView.Items.IndexOf(lvi);    // lvi并未加入listView,index当然是-1
       this.listView.Items[index].Selected = true;