C# 设置combobox绑定到数据源的selectedValue
我有一个组合框,设置为数组的数据源,设置为字典。我可以使用combobox.SelectedValue返回所选值并将其强制转换到对象。但是,当我想在表单的“编辑模式”上再次显示信息时,如何将其设置回组合框的selectedValueC# 设置combobox绑定到数据源的selectedValue,c#,combobox,C#,Combobox,我有一个组合框,设置为数组的数据源,设置为字典。我可以使用combobox.SelectedValue返回所选值并将其强制转换到对象。但是,当我想在表单的“编辑模式”上再次显示信息时,如何将其设置回组合框的selectedValue BindingSource bindingSource = new BindingSource(); bindingSource.DataSource = array.ToDictionary(a => a.Name, a => a); co
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = array.ToDictionary(a => a.Name, a => a);
comboBox.DataSource = bindingSource
comboBox.DisplayMember = "Key";
comboBox.ValueMember = "Value";
我试着做了以下几件事,但却无法阻止
public void SetComboBox(ClassA a)
{
comboBox.SelectedValue = a;
}
使用SelectedItem而不是SelectedValue。只有当比较组合框项目和您试图设置的对象时,Equals方法为true时,它才会起作用。因此,如果您没有使用相同的对象引用,您可能希望在类上重写Equals。我做了一个keyvaluepair并尝试使用selectedItem,但仍然没有效果,知道为什么吗?不,我真的不知道。你为什么要转换成字典呢?我需要组合框来返回一个对象,而不是对象的属性。类a是一个对象,数组是可枚举的,所以你可以绑定到它们。