C# CheckedListBox数据源未正确显示

C# CheckedListBox数据源未正确显示,c#,.net,winforms,datasource,checkedlistbox,C#,.net,Winforms,Datasource,Checkedlistbox,我有以下代码 clbCodes.DisplayMember = "Name"; clbCodes.ValueMember = "Id"; checkboxItemList = new List<CheckBoxItem>(); foreach (var uagCode in codes) { var checkboxItem = new CheckBoxItem { Id = uagCode.Code, Nam

我有以下代码

clbCodes.DisplayMember = "Name";
clbCodes.ValueMember = "Id";

checkboxItemList = new List<CheckBoxItem>();
foreach (var uagCode in codes)
{
    var checkboxItem = new CheckBoxItem
        {
            Id = uagCode.Code,
            Name = uagCode.UAGLabel
        };
    checkboxItemList.Add(checkboxItem);
}

clbCodes.DataSource = checkboxItemList;

public class CheckBoxItem
{
    public string Name { get; set; }
    public string Id { get; set; }
}
我明白了

WindowsApplication1.CheckBoxItem 
WindowsApplication1.CheckBoxItem 
WindowsApplication1.CheckBoxItem 
在我的列表框中填充


我做错了什么?

由于您似乎正在向复选框中添加自定义对象的集合,因此作为该类的一部分,您应该具有对
ToString()
的重写,该重写可以返回要显示的
名称

public override String ToString()
{
    return this.Name;
}

由于您似乎正在向复选框添加自定义对象的集合,因此作为该类的一部分,您应该具有对
ToString()
的重写,该重写可以返回要显示的
名称

public override String ToString()
{
    return this.Name;
}

您需要覆盖ToString:

public class CheckBoxItem
{
    public string Name { get; set; }
    public string Id { get; set; }

    public override String ToString()
    {
       return Name;
    }
}

您需要覆盖ToString:

public class CheckBoxItem
{
    public string Name { get; set; }
    public string Id { get; set; }

    public override String ToString()
    {
       return Name;
    }
}

您正在创建的CheckBoxItem列表是什么?数据源行后的DisplayMemberPath=Name。clbCodes是标准组合框吗?它是CheckedListBox@PapyrusBit您确定CheckedListBox具有DataSource属性吗?我试过使用CheckedListBox,但它没有任何名为DataSource的属性?在DataSource行之后创建列表的CheckBoxItem是什么?DisplayMemberPath=Name。clbCodes是标准组合框吗?它是CheckedListBox@PapyrusBit您确定CheckedListBox具有DataSource属性吗?我尝试过使用CheckedListBox,但它没有任何名为DataSource的属性?这可以工作,但DisplayMember似乎没有用,因此不需要分配DisplayMember。我认为这是因为他使用的是CheckedListBox而不是列表框,可能出于任何原因checkedlistbox忽略了它,但DisplayMember似乎没用,所以不需要分配DisplayMember。我认为这是因为他使用的是checkedlistbox而不是列表框,可能出于任何原因checkedlistbox忽略了它什么?杰里梅克首先回答了这个问题。哦,天哪,你做了什么?这根本不公平。DonBoitnott你真幸运什么?杰里梅克首先回答了这个问题。哦,天哪,你做了什么?这根本不公平。DonBoitnott,你真幸运。