Как Вы обновляете оперативный объект поля комбинированного списка?

, "Как к: Создайте Обрисованный в общих чертах текст" на MSDN, имеет всю информацию, в которой Вы нуждаетесь.

5
задан Jon Seigel 17 September 2009 в 17:33
поделиться

2 ответа

Понятно, используя предложение Пончика.

В классе формы:

private BindingList<PlantComboBoxItem> _plantList;

В методе загрузки:

_plantList = new BindingList<PlantComboBoxItem>(plantItems);
cboPlants.DataSource = _plantList;

В событии SelectedIndexChanged:

int selectedIndex = cboPlants.SelectedIndex;
_plantList.ResetItem(selectedIndex);

Спасибо!

2
ответ дан 18 December 2019 в 11:58
поделиться

Хмм ... не могли бы вы использовать BindingList , как описано здесь ? Таким образом, вы можете просто изменить элемент в базовой коллекции и отобразить его в ComboBox без необходимости добавлять или удалять что-либо из элемента управления.

You ' d необходимо иметь коллекцию, подобную этой, содержащую все ваши элементы для ComboBox :

private BindingList<PlantComboBoxItem> plantComboBoxItems;

Затем в какой-то момент (например, при запуске программы) привяжите ее к ComboBox :

cboPlants.DataSource = plantComboBoxItems;

Теперь вы можете просто изменить коллекцию напрямую:

plantComboBoxItems[cboPlants.SelectedIndex].doWhateverYouWant();

И изменения будут отражены в cboPlants . Это то, что вы ищете?

4
ответ дан 18 December 2019 в 11:58
поделиться