Ok, je suis un développeur web, mais je me retrouve à barboter dans les windows forms projets chaque maintenant et puis. Une chose qui confond moi à ce jour est la suivante.
Supposons que vous faites 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
Alors maintenant, nous avons 2 zones de liste déroulante liée à ce tableau, et tout fonctionne bien. Mais lorsque vous modifiez la valeur d'une zone de liste déroulante, il modifie à la FOIS les zones de liste déroulante à celui que vous venez de sélectionner.
Maintenant, je sais que les Tableaux sont toujours passés par référence (appris que lorsque j'ai appris le C :D), mais pourquoi sur terre serait le combo boîtes de changement? Je ne crois pas que le contrôle zone de liste modifiable est la modification de la collection à tous.
Pour contourner ce problème, ne pas cela permettrait de réaliser la fonctionnalité attendue ou souhaitée
ComboBox box = new ComboBox();
box.DataSource = myitems.ToArray();