首先看代码:
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加进去了,但是不是逐个逐条加的,他是三两个加过去的,这是怎么回事呢?在线等!!!!谢谢大家先啦!
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加进去了,但是不是逐个逐条加的,他是三两个加过去的,这是怎么回事呢?在线等!!!!谢谢大家先啦!
{
...........
}
private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.AddRange(listBox2.Items);
listBox2.Items.Clear();
}
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,这样自然不行啦
if(this.ListBoxAll.SelectedIndex != -1)
{
this.ListBoxUser.Items.Add(this.ListBoxAll.SelectedItem.Value);
this.ListBoxAll.Items.Remove(this.ListBoxAll.SelectedItem.Value);
}
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();
}看了一下楼主的意图,应该是这样。
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也就不完整了