如何使用组合框中的键值查找显示值

时间:2012-03-03 05:06:43

标签: c# winforms dictionary combobox datasource

我有一个组合框,它有一个字典作为数据源。我试图在组合框中查找一个键并获取它的显示值。 FindString查找显示值。

var dictionary = new Dictionary<string, string>();
dictionary.Add("key1", "value1");
dictionary.Add("key2", "value2");
dictionary.Add("key3", "value3");
comboBox1.DataSource = new BindingSource(dictionary, null);
comboBox1.ValueMember = "Key";
comboBox1.DisplayMember = "Value";
comboBox1.FindString("key3") //returns -1
comboBox1.FindString("value3") //returns 2

但我想查找key3的显示值。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

如果要查找当前选定的项目和值:
comboBox1.SelectedValue和文字

如果您想要枚举原始来源,通常只需枚举原始来源:

dictionary["key3"];

如果您由于某种原因无法访问它,只需从comboBox中取回它:

var originalDictionary = ((Dictionary<string,string>)((BindingSource)comboBox1.DataSource).DataSource);
var randomValue = originalDictionary["key3"];