3

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

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

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

4

1 回答 1

9

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

listBox.DisplayMember = "Key";
于 2009-05-03T10:03:27.290 回答