我在C#中的checkedlistbox显示了它要显示的对象的类型,但不显示它的名称

时间:2009-12-16 20:35:07

标签: c# winforms checkedlistbox

我在C#中的已检查列表框中显示对象时遇到问题。我可以添加对象,但是当对象显示给用户时,程序会将复选框选择输出为Salesform.order,而不是像我想要的那样在订单类中调用tostring方法。这导致多个订单显示为相同的东西:“Salesform.order”。

orderCheckList.Items.Add(orderUp);

(此处,orderUp是包含客户名称等字段的订单)

有人可以帮忙吗?我知道有一个简单的解决方案,我忽略了。

2 个答案:

答案 0 :(得分:6)

DisplayMember的{​​{1}}设置为您要显示的属性。例如:

CheckedListBox

(根据Ragepotato的建议,覆盖orderCheckList.DisplayMember = "Title"; // Now orderUp.Title will be displayed 也可以正常工作,但使用ToString()更灵活,因为这意味着您可以在各种不同的上下文中使用相同的数据类型。)

示例代码:

DisplayMember

答案 1 :(得分:4)

在您添加到列表框的每个项目上都会调用

.ToString()。覆盖它以解决此问题。