当窗体加载的时候创建了: 
                 listView1.View = View.Details; 
               listView1.Columns.Add("条码号", 230, HorizontalAlignment.Left); 
      当窗体中的textbox控件发生回车事件时,向ListView中添加输入的数据: 
                ListViewItem list = new ListViewItem(); 
                list.Text = textBoxBarcode.Text;//获取文本框的内容 
                 //下面不明白了,我的想法是当listview中不存在list时,将list插入到listview中,可是不管用,还是可以插入重复的数据. 
                if(!listView1.Items.Contains(list)){ 
                    listView1.Items.Insert(0,list); 
                } 

解决方案 »

  1.   

    插入前 循环判断ListView中的值 有的话 就取消插入
      

  2.   

    ListViewItem list = new ListViewItem(); 
                    list.Text = textBoxBarcode.Text;//获取文本框的内容 
    if(!listView1.Items.Contains(list)){ 
                        listView1.Items.Insert(0,list); 
                    }问题是listView1.Items. Contains()方法调用的是Equal方法,而你每次都是
    创建的新的ListViewItem (ListViewItem list = new ListViewItem(); )。因此
    肯定是能够插入的。
    因此建议你可以创建自己的类,从ListViewItem 继承,但是改写Equal方法,这样就可以了
      

  3.   

    判断条件有问题:if(!listView1.Items.Contains(list))这个list对象是你每次回车事件发生时创建的对象,肯定在Items里是没有的如果想阻止插入重复值,要循环整个items,判断条件可以用 list.Text来检测是否有重复项
      

  4.   

    恩 不能用Contains判断 只有循环判断
      

  5.   


    private bool IsExistsItem(string text)
    {
       foreach(ListViewItem item in listView1.Items)
       {
           if(item.Text==text)
              return true;
       }
       return false;
    }//调用
    ListViewItem list = new ListViewItem(); 
                    list.Text = textBoxBarcode.Text;//获取文本框的内容 
    if(!IsExistsItem(list.Text)){ 
                        listView1.Items.Insert(0,list); 
                    } 
      

  6.   

                        for (int i = 0; i <= lv_Sell.Items.Count; i++)
                        {
                                ListViewItem lv = lv_Sell.Items[i];
                                if(lv.SubItems["索引"].Text == "自己定义")
                                {
                                }
                                else
                                {
                                }
                        }
      

  7.   

                        for (int i = 0; i <= lv_Sell.Items.Count; i++)
                        {
                                ListViewItem lv = lv_Sell.Items[i];
                                if(lv.SubItems["索引"].Text == "自己定义")
                                {
                                }
                                else
                                {
                                }
                        }lv_Sell 这个我自己命名的ListView ...