質問

KeyValuePair <!> lt; string、string <!> gt;を含むArrayListを作成しました。オブジェクト。上記のArrayListにあるすべてのデータを同時にコピーして、繰り返しによってそれらを埋める必要がないように、そのリストにバインドしたいListBoxがあります。

私はDelphiプログラマであり、DelphiではListViewコントロールを使用し、OwnerDataプロパティをtrueに設定してから、OnDataイベントを使用して、指定されたアイテム(指定されたインデックス)に配列アイテムのデータを表示します同じインデックスを持つ。 OnDataメソッドは、現在表示されているアイテムをパラメーターとして提供するので、たとえばそのIndex、CaptionおよびSubItemsプロパティ。そのインデックスに基づいて、同じインデックスを持つ配列アイテムのデータをアイテムに表示させることができます。その配列が変更された場合、配列の長さが変更された場合、ListViewを更新するか、Countプロパティを設定するだけで十分です。

ListBoxコントロールを使用してC#で同じ目標を達成する方法は? listValue.DataSourceプロパティを、KeyValuePairsを含むmyArrayListに設定します。ここで、listBoxにKeyValuePairsオブジェクトのキーを表示したいと思います。

役に立ちましたか?

解決

.NETリストボックスにはこの機能が組み込まれています。すでにDataSourceプロパティを設定しているため、リスト内のキーのみを表示するには、次を設定します。

listBox.DisplayMember = "Key";
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top