Предположим, вы делаете что-то вроде следующего
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();