问题如下:我使用property 连接了ListBox一些自定义class(List<Person> persons = new List<Person>())的元素列表DataSource.当然ValueMember,DisplayMember它们都被赋予了这个类的适当属性.当我第一次加载数据时,一切看起来都不错.但是,当我点击某个项目(即第7个位置,从1开始计算)然后重建列表并且元素数量少于7时,因此我无法在列表中看到正确的文本.相反,每个项目都显示为类名,前面是命名空间.
换句话说,而不是列表:
我看到了这个:
看起来它取决于最后SelectedIndex.如果不再有具有该索引的项目(项目较少),则会出现问题.
我试图重新分配的不同组合ValueMember和DisplayMember,以及在分配空DataSource列表的属性并重新分配名单这个属性,甚至试图分配-1到SelectedIndex之前解除绑定,但他们没有帮助.
[编辑]
我被要求显示一些代码.我会粘贴相关的片段:
1.班级人员:
public class Person
{
private int id;
private string name;
public Person(int m_id, string m_name)
{
id = m_id;
name = m_name;
}
public int Id
{
get
{
return id;
}
}
public string Name
{
get
{
return name; …Run Code Online (Sandbox Code Playgroud)