Bonjour
j ai une Form, dedans je peux avoir x boutons
comment dans le Load de la form faire une boucle qui
me change la couleur de tous les boutons (qui les passent en vert par ex)
merci
Bonjour
j ai une Form, dedans je peux avoir x boutons
comment dans le Load de la form faire une boucle qui
me change la couleur de tous les boutons (qui les passent en vert par ex)
merci
Dans le load, tu fais :
Nomdubouton.color = "couleur"
S'il n'y a que les imbéciles qui ne changent pas d'avis, mes clients sont des génies.
Aet, Ukyuu.
oui, ca okNomdubouton.color = "couleur"
mais si j ai 15 btn vais devoir le faire pour les 15, si je renomme 1 btn, vais devoir modifier le code
ce que je voudrais, c est une boucle qui a l ouverture de la fenetre, passe tous les btn en revue et leur change la couleur, et ce quelque soit le nom du btn
merci
En utilisant la colections Controls de ta form, tu peux récupérer la liste de ton les controls.
Ensuite, avec le réflexion, tu pourras fire ta boucle.
Genre (pseudo-code)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 pour chaque control dans Controls { si control == bouton { alors couleur bouton = "couleur" } }
Thomas LEBRUN: MCAD.NET, MCTS (Win et Web), MCPD(Win et Web) & Microsoft MVP Client Application Development
WPF par la pratique, mon livre sur WPF ! (également disponible ici ou là)
A la découverte de .NET
merci mais si tu pouvais m aider un peu plus car je ne connais pas encore la syntaxe de tout, je débutes vraiement en C#
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 pour chaque control dans Controls { si control == bouton { alors couleur bouton = "couleur" } }
un petit exemple svp
merci
Voici un lien sur un topic qui se trouve juste quelques lignes en dessous du tien.
Tu pourras sans doute y puiser des idées
http://www.developpez.net/forums/vie...437f816418e333
Merci je viens de lire, ca m a un peu (un peu) aidé
je fais donc ca
int n = Controls.Count;
while ( n > 0)
{
n--;
MessageBox.Show(Controls[n].Name , "MyApp", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
mais ca ne m affiche que les controls de 1er niveau
cad, dans ma form, j ai des panels, dans lesquels il peut y avoir d autres panels ou des btns
en fait ce que je souhaite faire, c est que ca scanne tous les controles dans la form, meme si ils sont dans d autres controles
merci de m aider
Pourquoi ne fais tu pas une fontion récursive sur la collection Controls (que chaque controle possède)?
Pour chaque controle rencontré tu testes s'il est de type Button, et le tour est joué
Rien a faire je n y arrives pas
je fais ca et la compil ne passe pas
MyXpButton, ce sont des bouton que j ai récupérés sur le net
int n = panel1.Controls.Count;
while ( n > 0)
{
n--;
if (panel1.Controls[n].GetType() = MyXPButton)
MessageBox.Show(panel1.Controls[n].Name , "MyApp", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager