2012-06-20 3 views
0

В настоящее время я создаю приложение, которое использует ComboBox, чтобы позволить пользователю выбирать из динамического списка объектов String, содержащихся в объекте BindingList. Однако BindingList является членом дочернего класса, принадлежащего к основному классу, который, по-видимому, вызывает некоторые проблемы.Связывание ComboBox с источником данных, принадлежащим другому классу

Когда источник данных в ComboBox имеет значение первоначально в пределах основного класса через:

this.comboBox.DataSource = this.childClass.dataList; 

содержимого ComboBox появляются, как ожидалось. Однако, когда содержимое списка изменяется, содержимое ComboBox не обновляется.

Если объект BindingList принадлежит к основному классу, ComboBox обновляется без каких-либо проблем. Похоже, что родительский класс не принимает события, которые сигнализируют, что список был обновлен.

Любые идеи?

ответ

0

Посмотрев на подобный вопрос я спросил (и ответил) в прошлом году:

Adding/Removing COM Ports from a ComboBox in C#

, кажется, я (ре) обнаружил решение. Проблема заключалась в том, как строки добавляются в источник данных. Поскольку список был дополнен в другом потоке, возникла проблема с обновлением элемента управления ComboBox. Используя делегат и метод Invoke(), содержимое ComboBox теперь обновляется, как ожидалось.

Смежные вопросы