我需要为列表命名,另外还要实现一两个有用的方法。所以这是我的程序架构:
public class A
{
public void Method1()
{
...
}
public override string ToString()
{
...
}
}
public class B : List<A>
{
public override string ToString()
{
...
}
public void Method2()
{
...
}
}
然后,在我的主要形式中,我正在创造和实例化:
BindingList<B> MyList = new BindingList<B> MyList();
要将它与CheckedListBox一起使用,我正在使用:
MyListBox.DataSource = MyList;
然后当我向MyList添加一个新元素时,我在CheckedListBox中输入了错误的文本。实际上,它只显示一个字符串“(Collection)”,即使我在MyList中有多个项目 我的代码出了什么问题?
答案 0 :(得分:0)
它没有正确地将List绑定到您的DataSource。
您可以像Using datasource with CheckBoxList
中的第一个答案一样添加它们,而不是传入列表foreach (var item in MyList)
MyListBox.Items.Add(item.WhateverFieldYouWantToBind, false); // second param is whether it's checked or not