Frage

Ich habe eine Arraylist, die KeyValuePair Objekte enthält. Es gibt Listboxen, die ich auf diese Liste binden möchte, so dass ich ihnen nicht zu füllen durch Iteration, das Kopieren zur gleichen Zeit, um alle Daten, die ich in der oben genannten Arraylist haben.

Ich bin einen Programmierer Delphi und in Delphi würde ich das Listview-Steuerelement verwenden, setzte seine Ownerdata-Eigenschaft auf true und dann das OnData Ereignis verwenden, um ein bestimmtes Element zu machen (mit einem angegebenen Index) angezeigt Elemente jedes Stück von Daten aus einem Array mit dem gleichen Index. Die OnData Methode gibt mir das aktuell angezeigte Element als Parameter, damit ich Zugriff auf beispielsweise haben seine Index, Beschriftung und SubItems Eigenschaften. Basierend auf diesem Index kann ich, den Punkt machen, einige Daten von einem Array-Elemente zeigt den gleichen Index hat. Wenn das Array geändert wird, genügt es, die Listview und / oder setzen Sie die Count-Eigenschaft zu aktualisieren, wenn die Länge des Arrays geändert.

Wie das gleiche Ziel in C # mit der Steuerelement List-Box zu erreichen? Ich habe die listBox.DataSource Eigenschaft enthält KeyValuePairs myArrayList. Nun möchte ich die Listbox wie die Tasten der KeyValuePairs Objekte angezeigt werden soll.

War es hilfreich?

Lösung

.NET Listenfelder haben diese Funktionalität eingebaut Sie haben bereits festgelegt, die DataSource Eigenschaft, so dass nur die Schlüssel in der Liste angezeigt werden, eingestellt.

listBox.DisplayMember = "Key";
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top