考虑有一个通过其 DataSource 属性填充的 ComboBox。 ComboBox 中的每个项目都是一个自定义对象,并且 ComboBox 设置了 DisplayMember
和 ValueMember
。
IList<CustomItem> aItems = new List<CustomItem>();
//CustomItem has Id and Value and is filled through its constructor
aItems.Add(1, "foo");
aItems.Add(2, "bar");
myComboBox.DataSource = aItems;
现在的问题是,我想将项目作为将在 UI 中呈现的字符串读取。考虑到我不知道 ComboBox 中每个项目的类型(我不知道
CustomItem
)这可能吗 ?
最佳答案
捆绑:
ComboBox1.DataSource = aItems;
ComboBox1.DisplayMember = "Value";
获取物品:
CustomItem ci = ComboBox1.SelectedValue as CustomItem;
编辑:如果您想要获得的只是组合框所有显示值的列表
List<String> displayedValues = new List<String>();
foreach (CustomItem ci in comboBox1.Items)
displayedValues.Add(ci.Value);
关于c# - 获取填充了数据源的 ComboBox 的项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/867395/