ComboBox KeyValuePair没有正确获取值
本文关键字:获取 KeyValuePair ComboBox | 更新日期: 2023-09-27 17:51:16
/**Dictionary looks like this
*[PERCENTAGELOSS, 0]
*[THRESHOLD, 1]
*etc.
*/
Dictionary<string, string> allEnums = XMLHandling.getEnums(enumCognityName);
foreach (KeyValuePair<string,string> item in allEnums)
{
enumCmb.Items.Add(item);
}
enumCmb.DisplayMember = "Key";
enumCmb.ValueMember = "Value";
enumCmb.SelectedIndex = 0;
}
在我将KeyValuePairs
添加到ComboBox
之后,它正确地显示了项目的名称,但我无法正确地获得它们的值。下面是尝试获取这些值的代码:
case "enum":
ComboBox enumBox = c as ComboBox;
var test0 = enumBox.SelectedItem; // [PERCENTAGELOSS, 0]
var test1 = enumBox.SelectedText; // ""
var test2 = enumBox.SelectedValue; // null
break;
我认为我正确地添加了ValueMember
作为KeyValuePair
的"值"。我做错了什么?
不需要在enumCmb中添加项,您可以这样绑定
enumCmb.DisplayMember = "Key";
enumCmb.ValueMember = "Value";
enumCmb.DataSource = new BindingSource { DataSource = allEnums };
我不确定,但你可能需要将你的数据转换为列表。