Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 设置combobox绑定到数据源的selectedValue_C#_Combobox - Fatal编程技术网

C# 设置combobox绑定到数据源的selectedValue

C# 设置combobox绑定到数据源的selectedValue,c#,combobox,C#,Combobox,我有一个组合框,设置为数组的数据源,设置为字典。我可以使用combobox.SelectedValue返回所选值并将其强制转换到对象。但是,当我想在表单的“编辑模式”上再次显示信息时,如何将其设置回组合框的selectedValue BindingSource bindingSource = new BindingSource(); bindingSource.DataSource = array.ToDictionary(a => a.Name, a => a); co

我有一个组合框,设置为数组的数据源,设置为字典。我可以使用combobox.SelectedValue返回所选值并将其强制转换到对象。但是,当我想在表单的“编辑模式”上再次显示信息时,如何将其设置回组合框的selectedValue

  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是一个对象,数组是可枚举的,所以你可以绑定到它们。