【问题标题】:combine 2 listboxes into a new listbox c#将 2 个列表框组合成一个新的列表框 c#
【发布时间】:2012-12-05 03:19:19
【问题描述】:

我有 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 个列表的其他列表框以及包含它们两个值的新列表框。

干杯,欢迎和感谢任何帮助。

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 我应该把这个方法放在哪里呢?在 lstAll(listbox3) 所在的主窗体中?
    【解决方案2】:

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

    ObservableCollection 与 List 的格式相同:

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

    确保添加以下内容

    using System.Collections.ObjectModel;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-24
      • 2013-08-27
      • 1970-01-01
      • 2011-09-26
      • 1970-01-01
      • 2020-06-01
      相关资源
      最近更新 更多