2009-05-04 2 views
0

Я пытаюсь связать несколько ListBoxs с List. Когда ListBox в одной форме обновляется, я хочу, чтобы он также обновил другой ListBox.Несколько списков, привязанных к одному списку

Проблема, с которой я сталкиваюсь, заключается в том, что она не обновляет представление в ListBox при обновлении базового списка. Если я посмотрю на ListBox.Items в отладке, я вижу, что все элементы, которые я добавляю, есть, но не отображаются. Кроме того, когда я открываю другую форму, которая отображает Список в ListBox, он корректно отображает все элементы, которые уже были добавлены.

private List<String> _list; 

public Form1() 
{ 
    InitializeComponent(); 

    _list = StaticInstanceOfList.GetInstance(); 
    listbox1.DataSource = _list; 
} 

public void AddStringToList(string value) 
{ 
    if (!_list.Contains(value)) 
    { 
     _list.Add(value); 
    } 
} 

ответ

5

Попробуйте использовать BindingList<T> для хранения вещей, а затем присвоить этот список как ListBoxes через DataSource собственности.

+0

Спасибо, что работает, как я ожидал. –

+0

Да, поскольку BindingList поддерживает уведомления об изменениях (в отличие от списка и т. Д.). – Lucero

+0

Проверьте правильность выбора. По крайней мере, dropdownlistbox: es имеют ошибку, для которой каждый из них требует отдельного списка, поскольку источник данных работает правильно, иначе они будут синхронизироваться между собой по странным путям. –

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