将2个列表框组合成一个新的列表框c#

时间:2012-12-05 03:19:20

标签: c# visual-studio-2010 list listbox

我有2个列表框,每个列表框显示2个不同的列表,这些列表由用户输入填充。我想知道我是否可以以某种方式组合每个列表框中的数据并将其显示在第三个列表框中。这是Visual Studio中的windowsForms应用程序。我还想确保在将新值添加到2个不同的列表框中时正确更新它。到目前为止,我所做的是将我所拥有的两个列表合并为:

    public List<String> listAll()
    {
        List<String> all = new List<string>();
        all.AddRange(listFirstName());
        all.AddRange(listSecondName());
        return all;
    }

这个问题首先我不知道当一个新值添加到其他两个列表时是否会更新。第二,现在我有了这个新列表,我仍然不知道如何在列表框中显示它。请记住,我仍然需要包含显示在主窗体中的前2个列表的其他列表框以及包含这两个列表的新列表框。

干杯,欢迎任何帮助和赞赏。

2 个答案:

答案 0 :(得分:0)

您可以使用单独的方法填充listBox3。在该方法中,您可以清除现有项目并添加listBox1和listBox3中的所有项目。

当您向listBox1或listBox2添加项目时,您可以在添加项目后调用相同的方法。

listBox3.Items.Clear();
listBox3.Items.AddRange(listAll().ToArray());

答案 1 :(得分:0)

通常,如果要确保Listbox动态更新,请使用ObservableCollection而不是List。

ObservableCollection的格式与List相同:

ObservableCollection<String> all = new ObservableCollection<string>();

确保添加以下内容

using System.Collections.ObjectModel;