首先看代码:
 private void button2_Click(object sender, EventArgs e)
        {
            int j;
            for (j = 0; j < listBox1.Items.Count; j++)
            {
                if (this.listBox1.Items[j].ToString()!= "")
                {
                    this.listBox2.Items.Add(this.listBox1.Items[j]);
                    this.listBox1.Items.Remove(this.listBox1.Items[j]);
                }
            }
        }问题是:可以从listbox里面把Item加进去了,但是不是逐个逐条加的,他是三两个加过去的,这是怎么回事呢?在线等!!!!谢谢大家先啦!

解决方案 »

  1.   

     for (j = listBox1.Items.Count-1; j >=0; j--)
    {
    ...........
    }
      

  2.   

    你这样写listBox1里有多少listBox2就会添加多少啊
      

  3.   

    try
    private void button2_Click(object sender, EventArgs e)
    {
    listBox1.Items.AddRange(listBox2.Items);
    listBox2.Items.Clear();
    }
      

  4.   

    你上面的代码的意思不是通过循环把listBox1中的数据添加到listBox2中的么?但是你的问题是想一个一个的添加进去是把?要是这样的话,你就不通过循环,一个一个的添加进去,在你添加下一个的时候判断下是否存在,不存在就添加,是这个意思吧?
      

  5.   

    首先看代码:
     private void button2_Click(object sender, EventArgs e)
      {
      int j;
      for (j = 0; j < listBox1.Items.Count; j++)
      {
      if (this.listBox1.Items[j].ToString()!= "")
      {
      this.listBox2.Items.Add(this.listBox1.Items[j]);
      this.listBox1.Items.Remove(this.listBox1.Items[j]);
      }
      }
      }你操作listbox1同时又改变了listbox1,这样自然不行啦
      

  6.   

    ListBox.Items.AddRange()  添加一个数组
    if(this.ListBoxAll.SelectedIndex != -1)
       {
        this.ListBoxUser.Items.Add(this.ListBoxAll.SelectedItem.Value);
        this.ListBoxAll.Items.Remove(this.ListBoxAll.SelectedItem.Value);
       }
      

  7.   


    private void button2_Click(object sender, EventArgs e)
    {
    int i = -1;
    while (++i < listBox2.Items.Count)
    {
    if (listBox2.Items[i] == "") continue;
    listBox1.Items.Add(listBox2.Items[i]);
    listBox2.Items.RemoveAt(i);
    i--;
    }
    listBox2.Items.Clear();
    }看了一下楼主的意图,应该是这样。
      

  8.   


      for (j = 0; j < listBox1.Items.Count; j++)
      {
      if (this.listBox1.Items[j].ToString()!= "")
      {
      this.listBox2.Items.Add(this.listBox1.Items[j]);
      this.listBox1.Items.Remove(this.listBox1.Items[j]);
      }
      }
      }
    你循环listBox1的同时又删除了listBox1的items,自然listBox1.Items.Count会变小了,所以复制到listBox2也就不完整了
      

  9.   

    this.listBox1.Items[j].Text 吧?