1

ListBox で別の問題が発生しました。

私は を持ってclass Entitystring 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問題は、まったく同じ値を持つ複数のインスタンスが存在する可能性があることです。every の唯一の静的な違いEntityはそのことですが、この醜いことをエントリUIDに書きたくありません。UID

Entity取得した文字列値から対応する値を取得する方法はありSelectedItemsますか? オーバーライドについて読みましたがGetHashCode()Equal()なぜこれが機能するのかわかりませんでしたか?

前もって感謝します!

4

1 に答える 1

2

You should bind actual entitys to ListBox instead only names and set DisplayMemeber property of ListBox to "Name" property of Entity. This will give you direct access to ListBox items - Entities.

Take a look at this link on how to bind objects to ListBox: http://sharpertutorials.com/list-box-data-binding/

于 2012-09-15T17:23:05.730 に答える