cbo.DataSource = null;
cbo.DataSource = cbos;
cbo.DisplayMember = "Title";
cbo.ValueMember = "Value";
Теперь, прежде чем установить cbo.SelectedValue
или полагаться на Items
как актуальную, позвоните
cbo.CreateControl ;
и Items
будут пересчитаны.
Проблема в том, что SelectedValue
/ SelectedIndex
, которые являются свойствами WinForms, принимают только допустимые значения в соответствии со списком Items
, но это значение создается только после взаимодействия с графическим интерфейсом, то есть после создания экземпляра настоящий "комбинированный блок Windows GUI, т.е. после получения дескриптора Windows для комбинированного списка.
CreateControl
вызывает создание дескриптора Windows, несмотря ни на что.