带有DisplayMember和ValueMember的组合框的选项

时间:2018-09-16 16:56:04

标签: c# winforms combobox .net-4.0

我正在尝试使用comboboxDisplayMember选项使ValueMember 我想讨论该选项的可用选项

选项1

使用DataTable作为DataSource并将其加载到DisplayMemberValueMember中,该选项将避免我从数据库中加载硬代码科学数据

由于某些原因,该选项不适用于我的情况,例如,我没有授予创建表权限

选项2

使用example中所示的class,但这有硬编码的缺点

选项3

使用Dictionary如下

Dictionary<string,>test = new Dictionary<string,>();
        test.Add("1", "example1");
        test.Add("2", "example2");
        test.Add("3", "example3");
        comboBox1.DataSource = new BindingSource(test, null);
        comboBox1.DisplayMember = "Value";
        comboBox1.ValueMember = "Key";

// Get combobox selection (in handler)
string value = ((KeyValuePair<string,>)comboBox1.SelectedItem).Value;

回读值

DictionaryEntry deImgType = (DictionaryEntry)cmbImageType.SelectedItem;
MessageBox.Show(deImgType.Key + ": " + deImgType.Value);

还有其他选择吗?并且此选项可以避免我使用硬编码pelsae吗?

谢谢

0 个答案:

没有答案