Je rencontre souvent cette situation lorsque j'écris du code pour une interface graphique et je voudrais savoir comment résoudre ce problème. La situation est la suivante:Conception d'une boucle for avec des éléments spécifiquement nommés
J'ai un certain nombre d'éléments identiques sur mon interface graphique qui ont des noms de variables, à savoir je 10 boutons « identiques » qui sont nommés Button1, Button2, Button3, etc ...
Le texte affiché des boutons est mis à jour dans le code et je veux vérifier quand ils sont mis à jour s'ils remplissent une certaine condition, puis changer la couleur du texte en fonction de cette condition. Donc, pour button1 j'écrire:
if (Button1.text == "true"){
Button1.textcolor = blue}
else if (Button1.text == "false"){
Button1.textcolor = red}
Maintenant, il semble inutile d'avoir à écrire ce code à nouveau pour chacun des 10 boutons, en remplaçant le nom de la variable Button1 avec de Bouton2 et ainsi de suite jusqu'à Button10. Y at-il un moyen de modifier la partie "Button1" du code dans une boucle et de garder tout le reste le même? Ainsi, un exemple pseudo-code de ce que je suis à la recherche serait:
for (all buttons in (button1-button10)){
if (thisbutton.text == "true"){
thisbutton.textcolor = blue}
else if (thisbutton.text == "false"){
thisbutton.textcolor = red}}
Je ne sais pas comment aborder le mieux ce scénario et recevoir des suggestions et des conseils à ce sujet.
Merci
Il existe plusieurs façons, mais en fonction de votre configuration, vous pourriez être bien meilleur que l'autre. Utilisez-vous WinForms? Où sont ces boutons déclarés? –
@Uno J'utilise Wpf en C# - j'ajoute graphiquement les boutons dans Visual Studio, puis je peux les référencer dans mon code. Je crois qu'ils sont déclarés dans le code xaml de l'interface graphique. –
Vous devez mettre à jour vos balises de questions pour inclure WPF. Ma réponse est pour winforms. –