У меня есть приложение WinForms с ComboBox.Я хочу программно выбрать элемент в зависимости от его значения.
Я пытался использовать IndexOf
, но для этого требуется весь объект, я хочу сделать это только по значению.Items
являются ObjectCollection
, и я не могу использовать Linq
на нем (или не знаю, как).
В одном месте я устанавливаю его источник так:
private void SetItems()
{
var items = new List<ComboItem>(3);
//Add items to the list
combo.BeginUpdate();
combo.DataSource = items;
combo.ValueMember = "Value";
combo.DisplayMember = "Name";
combo.EndUpdate();
}
private class ComboItem
{
public int Value { get; set; }
public string Name { get; set; }
}
Затем (в другом месте) я хочу установить выбранный элемент в зависимости от значения.Напримересли бы у меня были комбо-значения:
"Option1": 2,
"Option2": 5,
"Option3": 10
Я бы хотел сделать что-то вроде:
combo.Items.SelectedValue = 5
И в комбо-файле выбрать Option2
.Это вообще возможно?