我正在尝试使用combobox
和DisplayMember
选项使ValueMember
我想讨论该选项的可用选项
选项1
使用DataTable
作为DataSource
并将其加载到DisplayMember
和ValueMember
中,该选项将避免我从数据库中加载硬代码科学数据
由于某些原因,该选项不适用于我的情况,例如,我没有授予创建表权限
选项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吗?
谢谢