我的ListBox出现了另一个问题。
我有class Entity
string Forename, Surname
。
现在,我想在Entity
中的每个ListBox personList
显示用户。
因此我这样做:
foreach(Entity e in EntityHandler.entityList)
{
personList.Items.Add(e.Name);
}
用户可以选择personList
的多个条目。
单击按钮后,应用程序将评估foreach
- 循环中的每个选定条目。
为此,我只需使用
foreach(string selected in personList.SelectedItems)
{
//do some stuff
}
现在的问题是,可能有多个Entity
个实例具有完全相同的值。
每个Entity
之间唯一的静态差异是UID
,但我不想将这个丑陋的UID
写入其条目中。
我是否有办法从Entity
得到的字符串值中得到相应的SelectedItems
?
我读过有关覆盖GetHashCode()
和Equal()
的内容,但我不明白为什么这应该有效?
提前致谢!
答案 0 :(得分:2)
您应该将实际实体绑定到ListBox而不是仅将名称绑定并将ListBox的DisplayMemeber属性设置为Entity的“Name”属性。这将使您可以直接访问ListBox项目 - 实体。
看一下如何将对象绑定到ListBox的链接: http://sharpertutorials.com/list-box-data-binding/