Поместить значение из Combobox в функцию

280
09 декабря 2016, 08:51

Вопрос, есть комбобокс, в котором происходит выбор текстового варианта. Необходимо сделать так, чтобы выбранный текстовый вариант соответствовал определенному числу и помещался в качестве переменной в функцию. Например, вариантам: чай, кофе - соответствует число 100, вариантам: лимонад, сок число 200. Сами числа не видны в комбобоксе. Мне пришло в голову, присвоить вариантам из одной группы какое-то id и потом считывать его при помощи регулярного выражения(но как спрятать это id?). Может есть более простое решение?

Answer 1

У Combobox, есть свойство ValueMember.

Допустим, у тебя есть List<Product> list в котором содержится коллекция вида Name|Id Ты делаешь следующее:

Combobox.DataSource=list;
Combobox.DisplayMember="Name";
Combobox.ValueMember="Id";

Если ты пользуешься VS2015, то можно сделать ,немного, красивее, избавившись от строковых литералов,

Combobox.DataSource=list;
Combobox.DisplayMember=nameof(Product.Name);
Combobox.ValueMember=nameof(Product.Id);

В итоге получается, что отображается какое-то имя, а в SelectedValue твой Id

READ ALSO
Подскажите как создать строку ввода с выбором города? [закрыто]

Подскажите как создать строку ввода с выбором города? [закрыто]

Нужно сделать поле в котором выбирается город, те можно поле предназначено больше для поиска города среди списка который открывается по нажатию...

203
Переместить UI объект на передний план UWP

Переместить UI объект на передний план UWP

На странице есть несколько картинок, нужно по долгому тапу или двойному переместить выбранную картинку поверх другихКак-то это можно реализовать?

360
Шестнадцатеричная система счисления

Шестнадцатеричная система счисления

Подскажите, как перевести число из шестнадцатеричной системы счисления, записанное в char, в intТ

244
Иконки в comboBox в WinForms

Иконки в comboBox в WinForms

Как сделать в comboBox'е (выпадающем списке) вместо строк текста иконки? Что бы их как и текст можно было выбирать

256