我在C#中的已检查列表框中显示对象时遇到问题。我可以添加对象,但是当对象显示给用户时,程序会将复选框选择输出为Salesform.order,而不是像我想要的那样在订单类中调用tostring方法。这导致多个订单显示为相同的东西:“Salesform.order”。
orderCheckList.Items.Add(orderUp);
(此处,orderUp是包含客户名称等字段的订单)
有人可以帮忙吗?我知道有一个简单的解决方案,我忽略了。
答案 0 :(得分:6)
将DisplayMember
的{{1}}设置为您要显示的属性。例如:
CheckedListBox
(根据Ragepotato的建议,覆盖orderCheckList.DisplayMember = "Title";
// Now orderUp.Title will be displayed
也可以正常工作,但使用ToString()
更灵活,因为这意味着您可以在各种不同的上下文中使用相同的数据类型。)
示例代码:
DisplayMember
答案 1 :(得分:4)
.ToString()
。覆盖它以解决此问题。