Синхронизировать ComboBox со списком <string>[C #] - PullRequest
0 голосов
/ 06 февраля 2012

Есть ли способ синхронизировать мои List<string> с ComboBox?

Мне бы хотелось, чтобы мой ComboBox автоматически обновлял его содержимое в зависимости от изменений в Списке.

Я пытался использовать свойство ComboBox.DataSource, но это не обновляет ComboBox, он заполняет его только один раз, и все, потом ...

Ответы [ 3 ]

4 голосов
/ 06 февраля 2012

Используйте BindingSource объект.

 List<string> list = new List<string>();
 BindingSource bsource=new BindingSource();

 //Set list dataSource
 bsource.DataSource = list;
 comboBox1.DataSource = bsource;

 //Now add an element via Binding object
 bsource.Add("One");
 bsource.Add("Two");

Или вы можете попробовать ArrayList.Adapter метод, который создает оболочку адаптера IList.

ArrayListпредметы;

items=ArrayList.Adapter(comboBox1.Items);
items.Add("one");
2 голосов
/ 06 февраля 2012

Попробуйте заменить List<string> на ObservableCollection<string>.

1 голос
/ 06 февраля 2012

Пожалуйста, посмотрите на образец: Как: создать и привязать к коллекции ObservableCollection .

Дополнительная информация об источниках привязки: Обзор источников привязки .

Обновление:

Извините, я не упомянул, что вы используете формы Windows, поэтому, пожалуйста, посмотрите вопрос: Привязка данных WinForms ComboBox получила .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...