0

我将 a 绑定Dictionary到 a ComboBox。这似乎工作正常,没有任何编译错误,但在运行时我收到错误:

在数据源上找不到数据成员属性“系统”

这是我的代码:

public Dictionary<string, object> valuList
{
  set
  {
    lComboBox.DataSource = new BindingSource(value,null);
    lComboBox.DisplayMember = (value.Keys).ToString();
    lComboBox.ValueMember = (value.Values).ToString();
  }
}

Dictionary<string, string> x6 = new Dictionary<string, string>();
x6.Add("AS", "ASS");
x6.Add("AAS", "AASS");
myForm.valuList = x6;
4

1 回答 1

1

如果您希望显示成员是字典中每一对的键,而值成员是每一对的,您可能想要:

lComboBox.DisplayMember = "Key";
lComboBox.ValueMember = "Value";

您应该知道订单将不确定 - 这真的是您想要的吗?

调用orToString()的返回值可能只会为您提供类型的完全限定名称,该名称将以开头- 这就是您收到当前错误的原因。Dictionary<,>.KeysDictionary<,>.ValuesSystem.Collections...

我还强烈建议您将您的属性重命名为遵循 .NET 命名约定的名称,并且也意味着某些东西。

于 2013-06-18T13:48:26.573 回答