2012-04-10 62 views
0

我无法获得有关窗体中列表框中选定项目的信息。我收集了一个包含“PersonID”和“FirstName”的“人员”的集合。我不想让“PersonID”在列表中显示,只显示个人姓名 - 但是当我从列表中选择一个人时,我如何知道该ID是什么?以窗体形式使用列表框

public int PersonID { get; set; } 
    public string FirstName { get; set; } 

我知道我可以比较集合中的“名字”,但如果名字与其他人相同,那么它就不够好。 我该如何解决这个问题?

回答

1

您可以使用ListBox控件的DisplayMember/ValueMember属性,也可以使用Person类的override the ToString() method来返回该人员的姓名。

在这种情况下,只会显示该人的姓名,但调用ListBox.SelectedItem()仍然会返回完整的Person实例。

+0

使用的覆盖的toString,真是棒极了!谢谢! – 2012-04-10 09:40:18

0

或者你可以使用列表视图

listView1.Items.Add("Name").SubItems.Add("ID"); 

它会更容易