将一个列表框的项目复制到另一个列表框

时间:2010-01-25 08:12:19

标签: c#

我想将列表框项目从一个表单复制到另一个表单....实际上在第一个表单中我有2个列表框,在第二个表单中我也有2个列表框。我想将第一个表格的列表框中的项目移动到第二个表格.....请帮助我....

4 个答案:

答案 0 :(得分:3)

public partial class Form1 : Form
{
    List<String> mylistSource;

    public Form1()
    {
        InitializeComponent();
        mylistSource = new List<string>();
        // populate source with test data
        for (int i = 0; i < 25; i++)
        {
            mylistSource.Add(i.ToString());
        }

        //assign source to both lists
        listBox1.DataSource = mylistSource;
        listBox2.DataSource = mylistSource;
    }
}

只需在表单中添加2个列表框,然后粘贴代码即可运行。

或者如果您只想复制所选项目,您只需执行此操作:

foreach (var item in listBox1.SelectedItems)
{
    listBox3.Items.Add(item);
}

答案 1 :(得分:2)

如果你想从listbox1到listbox2选择整个项目,那么最简单,最可读和最快的必须是:

listbox2.Items.AddRange(listbox1.Items);

答案 2 :(得分:1)

如果是Web表单,请使用session转发列表的数据源。

答案 3 :(得分:0)

你可以做的是给对象一个额外的属性(例如,选择)

您将集合投标到两个列表框,但在一个列表框中您只显示选择= false的那个,而另一个选择=真

如果您“移动”该项目,则只需将所选项切换为true并刷新ItemsSources