C# 组合框selectedvalue
我的表单上有一个组合框(winforms)。在属性中,我设置了DisplayMember和ValueMember。DisplayMember=Name和ValueMember=ID。组合框中填充了以下对象:C# 组合框selectedvalue,c#,winforms,combobox,C#,Winforms,Combobox,我的表单上有一个组合框(winforms)。在属性中,我设置了DisplayMember和ValueMember。DisplayMember=Name和ValueMember=ID。组合框中填充了以下对象: public class MyObj { public string Name { get; set; } public int ID { get; set; } } 该名称在下拉列表
public class MyObj
{
public string Name
{
get; set;
}
public int ID { get; set; }
}
该名称在下拉列表中显示良好(因此DisplayMember正在工作),但是,当我执行以下操作时:
mycombobox.SelectedValue它始终为空
有人知道我忘了做什么吗?试试选择编辑
MyObj obj = (MyObj)mycombobox.SelectedItem;
您是否设置了
DataSource
属性。还要确保您必须按照正确的顺序设置它们-
按以下顺序设置:
1. DisplayMember
2. ValueMember
3. DataSource
请参阅此链接-
或者,您可以使用
SelectedItem
属性获取所选的MyObj
实例。是否已选择项目?“选定”并不总是与“可见”相同。也许你真的想修改mycombox.Text。我也有类似的错误。我设置了DisplayMember和ValueMember,但我设置了而不是DataSource项。插入。您在哪里选中了mycombobox。SelectedValue?它位于按钮的单击事件上。我也尝试过在组合框本身的SelectedIndexChanged事件中检查它,但在那里也不起作用。如果你选择了SelectedIndex或SelectedItem,你会得到什么?您可以添加组合框配置和填充方式的代码吗?尝试交换ID和名称:displaymber=ID
和ValueMember=Name
并查看ID是否在下拉列表中显示良好,以确保您的数据源正常。我设置了displaymber=ID,它显示的ID很好。谢谢,最后我只是使用了SelectedItem属性和casting。谢谢您的订单评论!节省了我这么多时间!