如何将两个组合框的选定项与单个数据源分开?
Posted
技术标签:
【中文标题】如何将两个组合框的选定项与单个数据源分开?【英文标题】:How to separate the selected item of two combobox with a single DataSource? 【发布时间】:2010-12-16 08:06:00 【问题描述】:在一个表单上,我有两个具有相同数据源的组合框(它们的元素列表相同)。当用户在其中一个控件中选择一项时,另一个控件的选定项也会被修改。这不是我想要的。
我希望两个列表都填充相同的数据源(就像我目前所做的那样),但我希望他们选择的项目彼此独立。
我该怎么做?
【问题讨论】:
【参考方案1】:或者你可以使用...
var dataSource = new[] "item1", "item2", "item3" ;
comboBox1.DataSource = dataSource;
comboBox2.BindingContext = new BindingContext();
comboBox2.DataSource = dataSource;
【讨论】:
他们甚至做得很好。尽管我认为自动同步行为令人震惊,但它仍然表明使用此框架时必须使用 RTFM。【参考方案2】:您需要创建数据源的两个不同实例。为此,您可以使用ToArray 扩展方法:
var dataSource = new string[] "item1", "item2", "item3" ;
comboBox1.DataSource = dataSource.ToArray();
comboBox2.DataSource = dataSource.ToArray();
【讨论】:
以上是关于如何将两个组合框的选定项与单个数据源分开?的主要内容,如果未能解决你的问题,请参考以下文章