考虑有一个通过其 DataSource 属性填充的 ComboBox。 ComboBox 中的每个项目都是一个自定义对象,并且 ComboBox 设置了 DisplayMemberValueMember

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/

10-10 23:11