Я пытаюсь сделать combobox
с опцией DisplayMember
и ValueMember
. Я хочу обсудить доступные опции для этого
Опция 1
, используяDataTable
как DataSource
и загрузите его в DisplayMember
и ValueMember
, и эта опция не позволит мне получить данные из жесткого кода, загружаемые из базы данных
Этот параметр не применим в моем случае для несколькихПример причины Я не предоставил разрешение на создание таблицы
Опция 2
с использованием 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);
isесть ли другие варианты?и может ли этот вариант избежать меня с жестким кодом Pelsae?
Спасибо