2 mopoking mopoking 于 2013.09.28 17:29 提问

C# listbox控件 两个listbox间item的转移

第一段代码:
protected void Button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < selected.Items.Count; i++)
{
if (selected.Items[i].Selected)
{
select.Items.Add(selected.SelectedItem);
selected.Items.Remove(selected.SelectedItem);
}

        }
    }

第二段代码:
protected void Button6_Click(object sender, EventArgs e)
{
ArrayList temp = new ArrayList();
for (int i = 0; i < select.Items.Count; i++)
{
if (select.Items[i].Selected)
{
temp.Add(select.Items[i]);
}

        }
       foreach (ListItem item in temp)
           {
               selected.Items.Add(item);
               select.Items.Remove(item);
           }
    }

上面两个都能执行,第一段是将listbox1中的移进listbox2中,第二段是将转移到listbox2中一些项在挪回listbox1中,可以运行且结果正确,第一段得出的应该是错误的结果才对,但没错;
 如果”将转移到listbox2中一些项在挪回listbox1中“用的是第一段代码,会出现错误(item出现重复,转移不了等),为什么? 
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!