如何使用单个DataSource分离两个组合框的选定项?

时间:2009-11-13 15:21:10

标签: .net winforms data-binding combobox datasource

在表单上,​​我有两个具有相同DataSource的组合框(它们的元素列表相同)。当用户选择其中一个控件中的项目时,另一个控件的所选项目也会被修改。那不是我想要的。

我希望两个列表都填充相同的DataSource(我现在这样做),但我希望他们选择的项目彼此独立。

我该怎么做?

2 个答案:

答案 0 :(得分:6)

或者你可以使用......

var dataSource = new[] { "item1", "item2", "item3" };
comboBox1.DataSource = dataSource;
comboBox2.BindingContext = new BindingContext();
comboBox2.DataSource = dataSource;

答案 1 :(得分:1)

您需要创建两个不同的数据源实例。为此,您可以使用ToArray扩展方法:

var dataSource = new string[] { "item1", "item2", "item3" };
comboBox1.DataSource = dataSource.ToArray();
comboBox2.DataSource = dataSource.ToArray();