Предположим, вы делаете что-то вроде следующего
List<string> myitems = new List<string>
{
"Item 1",
"Item 2",
"Item 3"
};
ComboBox box = new ComboBox();
box.DataSource = myitems;
ComboBox box2 = new ComboBox();
box2.DataSource = myitems
Итак, теперь к этому массиву привязаны 2 поля со списком, и все работает отлично. Но когда вы изменяете значение одного поля со списком, оно заменяет оба поля со списком, которые вы только что выбрали.
Теперь я знаю, что массивы всегда передаются по ссылке (узнал, что когда я изучил C: D), но с какой стати комбо-боксы изменились бы вместе? Я не верю, что элемент управления combo box вообще изменяет коллекцию.
Как обходной путь, разве это не достигнет ожидаемой / желаемой функциональности
ComboBox box = new ComboBox();
box.DataSource = myitems.ToArray();