문제

KeyValuePair를 포함하는 ArrayList를 만들었습니다u003Cstring, string> 사물. 위에 언급 된 ArrayList에 가지고있는 모든 데이터를 동시에 복사하여 반복으로 채우지 않아도 해당 목록에 바인딩하려는 ListBox가 있습니다.

저는 델파이 프로그래머이고 델파이에서는 ListView 컨트롤을 사용하고 소유자 데이터 속성을 True로 설정 한 다음 OnData 이벤트를 사용하여 주어진 항목 (지정된 색인 포함)을 동일하게하는 배열 항목의 데이터를 표시합니다. 인덱스. ondata 메소드는 현재 표시된 항목을 매개 변수로 제공하므로 예를 들어 인덱스, 캡션 및 하위 항목 속성에 액세스 할 수 있습니다. 해당 색인을 기준으로 항목이 동일한 인덱스를 가진 배열 항목의 일부 데이터를 표시 할 수 있습니다. 해당 배열이 수정되면 ListView를 새로 고치거나 배열의 길이가 변경된 경우 카운트 속성을 설정하는 것으로 충분합니다.

ListBox 컨트롤을 사용하여 C#에서 동일한 목표를 달성하는 방법은 무엇입니까? Listbox.datasource 속성을 KeyValuePairs를 포함하는 MyArrayList로 설정했습니다. 이제 ListBox가 KeyValuePairs 객체의 키를 표시하기를 원합니다.

도움이 되었습니까?

해결책

.NET 목록 상자에는이 기능이 내장되어 있습니다. 이미 설정했습니다. DataSource 속성, 따라서 목록에 키 만 표시하려면 다음을 설정합니다.

listBox.DisplayMember = "Key";
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top