相关疑难解决方法(0)

ListBox上的项目显示为类名

问题如下:我使用property 连接了ListBox一些自定义class(List<Person> persons = new List<Person>())的元素列表DataSource.当然ValueMember,DisplayMember它们都被赋予了这个类的适当属性.当我第一次加载数据时,一切看起来都不错.但是,当我点击某个项目(即第7个位置,从1开始计算)然后重建列表并且元素数量少于7时,因此我无法在列表中看到正确的文本.相反,每个项目都显示为类名,前面是命名空间.

换句话说,而不是列表:

  • 约翰·多伊
  • 简·多伊
  • 其他人

我看到了这个:

  • MyNamespace.Person
  • MyNamespace.Person
  • MyNamespace.Person

看起来它取决于最后SelectedIndex.如果不再有具有该索引的项目(项目较少),则会出现问题.

我试图重新分配的不同组合ValueMemberDisplayMember,以及在分配空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)

c# listbox selectedindex winforms

5
推荐指数
1
解决办法
8189
查看次数

标签 统计

c# ×1

listbox ×1

selectedindex ×1

winforms ×1