1

我的 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()但我不知道为什么这应该起作用?

提前致谢!

4

1 回答 1

2

您应该将实际实体绑定到 ListBox 而不是只绑定名称并将 ListBox 的 DisplayMemeber 属性设置为实体的“名称”属性。这将使您可以直接访问 ListBox 项目 - 实体。

查看有关如何将对象绑定到 ListBox 的链接: http: //sharpertutorials.com/list-box-data-binding/

于 2012-09-15T17:23:05.730 回答