我的表格上有一个组合框(winforms)。在属性中,我设置了DisplayMember和ValueMember。 DisplayMember = Name和ValueMember = ID。 Combobox填充了以下对象:
public class MyObj
{
public string Name
{
get; set;
}
public int ID { get; set; }
}
名称在下拉列表中显示正常(因此DisplayMember正在工作)但是,当我这样做时:
mycombobox.SelectedValue它始终为null。
有人知道我是否忘记做任何事情?
答案 0 :(得分:4)
您是否设置了DataSource
属性。还要确保您必须按正确的顺序设置它们 -
按以下顺序设置 -
1. DisplayMember
2. ValueMember
3. DataSource
或者,您可以使用SelectedItem
属性来获取所选的MyObj
实例。
答案 1 :(得分:0)
尝试SelectedItem
MyObj obj = (MyObj)mycombobox.SelectedItem;
答案 2 :(得分:0)
是否已选择某个项目?选中并不总是与可见相同。也许你真的想要mycombobox.Text。
答案 3 :(得分:0)
我有类似的错误。我设置了DisplayMember和ValueMember,但我设置的不是DataSource Items.Insert。