C# - ListBox DataSource属性并绑定一个ArrayList

时间:2009-05-03 09:57:10

标签: c# listbox datasource

我创建了一个包含KeyValuePair< string,string>的ArrayList。对象。有ListBoxes我想绑定到该列表,这样我就不必通过迭代填充它们,同时复制我在上面提到的ArrayList中的所有数据。

我是Delphi程序员,在Delphi中我会使用ListView控件,将其OwnerData属性设置为true,然后使用OnData事件使给定项(带有指定索引)显示数组项中的任何数据具有相同的索引。 OnData方法为我提供了当前显示的项目作为参数,因此我可以访问例如它的Index,Caption和SubItems属性。基于该索引,我可以使项目显示具有相同索引的数组项中的一些数据。如果修改了该数组,则只要数组的长度发生变化,就足以刷新ListView和/或设置其Count属性。

如何使用ListBox控件在C#中实现相同的目标?我将listBox.DataSource属性设置为包含KeyValuePairs的myArrayList。现在我希望listBox显示KeyValuePairs对象的键。

1 个答案:

答案 0 :(得分:9)

.NET列表框内置了此功能。您已经设置了DataSource属性,因此要仅显示列表中的键,请设置:

listBox.DisplayMember = "Key";