如何从comboBox中提取嵌入的值?

时间:2012-09-17 23:11:44

标签: c# winforms dictionary combobox key-value-observing

我用这种方式用我们的组合框填充了基础值和显示值:

Dictionary<int, string> Platypi = duckBillData.GetPlatypiVals();
comboBoxPlatypus.DataSource = new BindingSource(Platypi, null);
comboBoxPlatypus.ValueMember = "Key";
comboBoxPlatypus.DisplayMember = "Value";

现在我要提取所选项目的ValueMember。我怎么做?没有一个“显而易见”的东西似乎有“ValueMember”......我试过了:

int id = comboBoxPlatypus.ValueMember;
int id = comboBoxPlatypus.SelectedIndex. <-- no "ValueMember" here...
int id = comboBoxPlatypus.SelectedItem. <-- no "ValueMember" here...

1 个答案:

答案 0 :(得分:2)

ValueMember告诉组合框原始集合的哪个属性绑定,它不是绑定对象本身。 SelectedItem应包含您的结果值。您只需将其强制转换为正确的类型,在本例中为int密钥。

int id = (int) comboBox.SelectedItem;