Supposons que vous fassiez quelque chose comme ce qui suit
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
Nous avons donc maintenant 2 zones de liste déroulante liées à ce tableau, et tout fonctionne bien. Mais lorsque vous modifiez la valeur d'une zone de liste déroulante, les DEUX zones de liste déroulante sont remplacées par celle que vous venez de sélectionner.
Maintenant, je sais que les tableaux sont toujours passés par référence (j'ai appris cela quand j'ai appris le C :D), mais pourquoi diable les zones de liste déroulante changeraient-elles ensemble ? Je ne crois pas que le contrôle de la zone de liste déroulante modifie du tout la collection.
En tant que solution de contournement, cela n'atteindrait-il pas la fonctionnalité attendue / souhaitée
ComboBox box = new ComboBox();
box.DataSource = myitems.ToArray();