如何将字典绑定到winforms中的ListBox
问题描述:
可以将字典绑定到列表框,在列表框和成员属性之间保持同步?
It is possible to bind a dictionary to a listbox, keeping in sync between the listbox and the member property?
答
var choices = new Dictionary<string, string>();
choices["A"] = "Arthur";
choices["F"] = "Ford";
choices["T"] = "Trillian";
choices["Z"] = "Zaphod";
listBox1.DataSource = new BindingSource(choices, null);
listBox1.DisplayMember = "Value";
listBox1.ValueMember = "Key";
(无耻地从我自己的博客中提取:将ComboBox绑定到通用字典。)
(Shamelessly lifted from my own blog: Bind a ComboBox to a generic Dictionary.)
这意味着您可以使用SelectedValue来获取ListBox中所选项目的相应字典键。
This means you can use SelectedValue to get hold of the corresponding dictionary key for the selected item in the ListBox.