WinForms ComboBox数据绑定问题

认为你正在做一些像坚持的事情

List<string> myitems = new List<string>
{
    "Item 1",
    "Item 2",
    "Item 3"
};

ComboBox box = new ComboBox();
box.DataSource = myitems;

ComboBox box2 = new ComboBox();
box2.DataSource = myitems

所以目前我们有2个组合框绑定到该数组,并且每个小东西都有功能惩罚。 然而,当您转换一个组合框的值时,它会将BOTH组合框转换为您选择的组合框。

目前,我认识到阵列经常被引用(发现当我发现C:D时),但为什么世界上肯定组合盒会相互转换? 我不认为组合框控件正在改变所有的集合。

作为一种解决方法,这不一定能达到预期/期望的能力

ComboBox box = new ComboBox();
box.DataSource = myitems.ToArray();
0
2019-05-03 17:39:03
资源 分享
答案: 1

这只涉及如何在dotnet结构中设置信息绑定,特别是BindingContext。在很大程度上,它表明如果你没有定义或者每种类型,并且所有类型的控件都共享相同的BindingContext。 当您建立DataSource构建时,ComboBox肯定会使用BindingContext来获取覆盖核对表的ConcurrenyMangagerConcurrenyManager跟踪核对表中现有拾取位置等点。

当您设置第二个ComboBoxDataSource时,它肯定会使用完全相同的BindingContext(种类),这肯定会产生对上面用于设置信息绑定的ConcurrencyManager的引用。

要获得更全面的描述,请参阅的BindingContext

0
2019-05-09 08:27:34
资源

相关问题