C# 为什么所选项目在绑定到同一数据源的多个组合框之间同步?

C# 为什么所选项目在绑定到同一数据源的多个组合框之间同步?,c#,winforms,data-binding,combobox,C#,Winforms,Data Binding,Combobox,关于数据绑定和多个组合框的使用,我有一个问题 我有一个管理器类来处理我想要绑定的数据。看起来是这样的: public static class SupplierManager { private static List<Classes.Supplier> _suppliers = null; private static BindingSource _bindingSource = null; public static void Add(Classes.S

关于数据绑定和多个组合框的使用,我有一个问题

我有一个管理器类来处理我想要绑定的数据。看起来是这样的:

public static class SupplierManager
{
    private static List<Classes.Supplier> _suppliers = null;
    private static BindingSource _bindingSource = null;

    public static void Add(Classes.Supplier supplier)
    {
        if (_suppliers == null)
        {
            _suppliers = new List<Classes.Supplier>();
            _suppliers.Add(new Classes.Supplier());
        }

        if (_bindingSource == null)
        {
            _bindingSource = new BindingSource(_suppliers, null);
        }

        _bindingSource.Add(supplier);
        _suppliers.Sort();
    }

    public static void Remove(Classes.Supplier supplier)
    {
        _bindingSource.Remove(supplier);
        _suppliers.Sort();
    }

    public static BindingSource BindingSource
    {
        get
        {
            if (_suppliers == null)
            {
                _suppliers = new List<Classes.Supplier>();
                _suppliers.Add(new Classes.Supplier());
            }

            if (_bindingSource == null)
            {
                _bindingSource = new BindingSource(_suppliers, null);
            }

            return _bindingSource;
        }
    }
}
public ReceiptOUT()
    {
        InitializeComponent();

        this.cmbBxSuppliers.DataSource = Managers.SupplierManager.BindingSource;
        this.cmbBxSuppliers.BindingContext = new BindingContext();
        this.cmbBxSuppliers.SelectedIndex = -1;
    }

欢迎提供所有帮助(即使它与此问题无关,但也与代码的其余部分有关)

通过这样做解决了这个问题。。。太容易了,我一定是瞎了;)

publicstaticbindingsource BindingSource
{
得到
{
如果(_suppliers==null)
{
_供应商=新绑定列表();
}
返回新的BindingSource(_suppliers,null);
}
}

并将
供应商列表
更改为
BindingList\u供应商

请将您的解决方案作为答案发布。我会尽快。。。我必须先等8个小时(还剩2个小时),显然;)我必须确保我在这里更活跃一点,这样我的代表就会上升。
public static BindingSource BindingSource
{
    get
    {
        if (_suppliers == null)
        {
            _suppliers = new BindingList<Classes.Supplier>();
        }

        return new BindingSource(_suppliers, null);
    }
}