listbox中有”111“,”222“,”111“这3项,其中”111“这2项相同,如何去掉一个,只保留一个?

解决方案 »

  1.   

    LZ是想调用一个方法完成,MS没有提供,自己写!@
      

  2.   

    若是用一个按钮来实现的话:
      private void button1_Click(object sender, EventArgs e)
            {
                for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    for (int j = i+1; j <listBox1 .Items .Count ; j++)
                    {
                        if (listBox1.Items[j].ToString() == listBox1.Items[i].ToString())
                        {
                            listBox1.Items.RemoveAt(j);
                        }
                    }
                }
            }
      

  3.   

    public   void   AddItem(string   text)   
      {   
            bool   isExists=false;   
            foreach(ListItem  item in ListItem1.Items)   
            {   
                if(item.Text==text)   
                {   
                    isExists=true;   
                    break;   
                  }   
            }   
            if(!isExists)    
                 ListItem1.Items.Add(text);    
      }   
      

  4.   

    good good study ,day day up
      

  5.   

    你可以在添加的时候,放在一个集合里。比如:ArrayList或者List<string>
    集合里有个Contain 方法 返回一个bool值 如果已经存在 为true 否则为false 可以先通过判断,然后再添加到ListBox中。
      

  6.   

    添加的时候 就判断if(contain())
    {
    }
      

  7.   


    private void AddItem(ListBox listbox,string value)
    {
        
           if (listbox.Items.Contain(value)==false)
             {
                 listbox.Items.Add(value);         }
    }
     
    string[] s=new string[]{"111","222","111"};private void InitListBox()
    {
         this.listbox1.Items.Clear(); //这里的listbox1是你定义的那个listbox      
         for(int i=0;i<s.length;i++)
         {
            this.AddItem(this.listbox1,s[i]); //这里的listbox1是你定义的那个listbox
         }
    }