2012-09-15 1 views
1

내 ListBox에 또 다른 문제가 있습니다.ListBox.SelectedItems의 결과를 참조하여 "원래"ListItem을 찾으십시오.

저는 class Entity이고 string Forename, Surname입니다. 이제 모든 사용자에게 EntityListBox personList에 게재하고 싶습니다. 그 때문에 나는이 작업을 수행 :

foreach(Entity e in EntityHandler.entityList) 
{ 
    personList.Items.Add(e.Name); 
} 

사용자는 personList의 여러 항목을 선택할 수 있습니다.

버튼을 클릭하면 응용 프로그램은 foreach -loop의 모든 선택된 항목을 평가합니다. 이를 위해 단순히

foreach(string selected in personList.SelectedItems) 
{ 
    //do some stuff 
} 

문제는 정확히 같은 값을 여러 Entity 경우가있을 수 있다는 것을 지금 사용합니다. 각 Entity 사이의 유일한 정적 차이는 UID입니다.하지만이 추악한 글을 UID으로 작성하고 싶지는 않습니다.

내가 SelectedItems에서 얻는 문자열 값 중에서 Entity을 어떻게 얻을 수 있습니까? GetHashCode()Equal()을 무시하는 것에 대해 읽었지 만 이것이 왜 작동해야하는지 알지 못했습니까?

미리 감사드립니다.

답변

2

실제 엔터티를 ListBox에 바인딩하고 ListBox의 DisplayMemeber 속성을 엔터티의 "Name"속성으로 설정해야합니다. 이렇게하면 ListBox 항목 인 Entities에 직접 액세스 할 수 있습니다.

은 목록 상자에 개체를 결합하는 방법에 대한 링크에서보세요 : 나는 그레고르를 원하는만큼 는 http://sharpertutorials.com/list-box-data-binding/

+0

당신에게 많이 감사 할 수 없습니다 : 정말 단순히 D 하지만 효과적인 솔루션을이 문제에! – TorbenJ

+0

문제 없어요, 당신은 환영합니다 :) –

관련 문제