具有共享数据源的独立下拉列表

本文关键字:独立 下拉列表 数据源 共享 | 更新日期: 2023-09-27 18:01:52

我有一个绑定列表:

BindingList<string> sampleList = new BindingList<string>();
sampleList.Add("aaa");
sampleList.Add("bbb");

用作两个组合框的数据源:

comboBox1.DataSource = sampleList;
comboBox2.DataSource = sampleList;

当我改变其中一个组合框中的选择时,第二个也会受到影响。我怎样才能保持它们的独立性?

编辑:

由于一些"热门"评论,我不得不做一些澄清:

  • 是windows窗体代码
  • 是可能的
  • 后面没有其他逻辑/代码
  • 我使用。net 2.0

完整代码来源:

public partial class Form1 : Form
{
    BindingList<string> sampleList;
    public Form1()
    {
        InitializeComponent();
        sampleList = new BindingList<string>();
        sampleList.Add("aaa");
        sampleList.Add("bbb");
        comboBox1.DataSource = sampleList;
        comboBox2.DataSource = sampleList;
    }
}

具有共享数据源的独立下拉列表

try this

comboBox1.DataSource = sampleList.ToList();
comboBox2.DataSource = sampleList.ToList();

使用两个独立的数据源。在这种特殊情况下,每个组合有2个不同的BindingList实例,这可能是最好的解决方案,特别是当我们谈论的是相当小的列表时。

如果我没有错,每个表单都有它的默认关联的BindingSource,它,实际上,管理的"链接"控件引用到相同的集合。但老实说,我对此不是很确定。

问候。