Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将项目从一个列表框移动到另一个列表框_C#_Winforms_Listbox - Fatal编程技术网

C# 将项目从一个列表框移动到另一个列表框

C# 将项目从一个列表框移动到另一个列表框,c#,winforms,listbox,C#,Winforms,Listbox,我想将项目从一个列表视图移动到另一个列表视图。将它们添加到第二个条目中会起作用,但移动的条目根本不会被删除 private void MoveSelItems(ListBox from, ListBox to) { for (int i = 0; i < from.SelectedItems.Count; i++) { to.Items.Add(from.SelectedItems[i].ToString());

我想将项目从一个列表视图移动到另一个列表视图。将它们添加到第二个条目中会起作用,但移动的条目根本不会被删除

private void MoveSelItems(ListBox from, ListBox to)
    {
        for (int i = 0; i < from.SelectedItems.Count; i++)
        {
            to.Items.Add(from.SelectedItems[i].ToString());
        }

        from.Items.Remove(to.SelectedItem);
    }
private void MoveSelItems(列表框从,列表框到)
{
for(int i=0;i
我正在使用C#/Winforms/-net3.5

私有void MoveSelItems(列表框从,列表框到)
private void MoveSelItems(ListBox from, ListBox to)
    {
        for (int i = 0; i < from.SelectedItems.Count; i++)
        {
            to.Items.Add(from.SelectedItems[i].ToString());
            from.Items.Remove(from.SelectedItems[i]);
        }
    }
{ for(int i=0;i
虽然

如果有必要的话,RemoveAt(i)可能更快

您可能需要创建保留列表

    //declare
    List<Object> items = new List<Object>();
    for (int i = 0; i < from.SelectedItems.Count; i++)
    {
        items.Add(from.SelectedItems[i]);
    }
    for (int i = 0; i < items.Count; i++)
    {
        to.Items.Add(items[i].ToString());
        from.Items.Remove(items[i]);
    }
//声明
列表项=新列表();
for(int i=0;i
在循环结束时尝试此代码

foreach ( var item in new ArrayList(from.SelectedItems) ) {
  from.Items.Remove(item);
}
for(int i=0;i
我认为这样做行不通,因为您将在迭代时更改集合。你会错过的项目。好问题。编辑“项目”是否会更改“SelectedItems”?可能是的。在这种情况下,他需要将它们读入一个临时数组。编辑以表示这一点。这是我所想的,因为数组变小了,所以我会得到一个索引错误,这是因为“to”列表框不会自动选择您添加到其中的项,因此“from.items.Remove(to.SelectedItem)”不做任何操作,而“to.SelectedItem”不会选择刚刚添加的任何项
private void MoveSelItems(ListBox from, ListBox to)
{
    while (from.SelectedItems.Count > 0)
    {
        to.Items.Add(from.SelectedItem[0]);
        from.Items.Remove(from.SelectedItem[0]);
    }
}
              for (int i = 0; i < ListBox3.Items.Count; i++)
               {
                    ListBox4.Items.Add(ListBox3.Items[i].Text);
                    ListBox3.Items.Remove(ListBox3.SelectedItem);

                }