3 votes

Ajouter des éléments aux combinaisons de cases tout en faisant référence au nom de la combinaison de cases par une chaîne en c# Formulaires Windows

Je cherchais partout la réponse sur comment faire cela! J'ai essentiellement 26 combobox nommées comboBox1 - comboBox26 et je veux utiliser une boucle for pour ajouter des éléments à chaque boîte, donc je devrai me référer à la combobox en tant que chaîne. Un peu mauvais pour expliquer, voici le code que j'ai jusqu'à présent;

for (int n = 1; n <= 26; n++)
{
      this.["comboBox"].Text.AddRange(new string[] 
             {"Premier élément", "deuxième élément", "troisième", "quatrième", "cinquième"}); 
}

donc après la boucle, les 26 combobox devraient être populées avec cet ensemble de chaînes. Cela et tout le reste que j'ai essayé lance une erreur et je n'arrive pas à trouver de réponse, toute aide serait géniale!

merci

5voto

Shannon Holsinger Points 1807

Utilisez controls.Find:

for (int n = 1; n <= 26; n++)
{
    ComboBox c = Controls.Find("comboBox_"+n.ToString(),true)[0] as ComboBox;
    c.Items.AddRange(new string[] {"Premier élément", "deuxième élément", "troisième", "quatrième", "cinquième"});
}

Cela suppose que vous avez nommé vos comboboxes comboBox_0 à travers comboBox_25

0voto

Abid Zahid Points 6

Vous pouvez utiliser ceci :

var correspondances = this.Controls.Find("cmbname", true);

ou

ComboBox cmb = (ComboBox)this.Controls.Find("cmbname" + i, false).FirstOrDefault();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X