SpiritOFire
Messages postés2Date d'inscriptionvendredi 8 mai 2009StatutMembreDernière intervention28 octobre 2009
-
28 oct. 2009 à 18:09
dooba01
Messages postés2Date d'inscriptionlundi 30 novembre 2009StatutMembreDernière intervention 2 décembre 2009
-
2 déc. 2009 à 11:19
Bonjour à tous,
je suis actuellement en train de réaliser un petit projet pour mes cours en c# à l'aide de visual studio 2005 et je bloque sur un petit truc, peut être pourriez vous m'aider.
Alors pour commencer, j'ai un formulaire dans lequel j'ajoute des boutons grâce à une boucle pour. J'ai choisi ce moyen car je n'avais pas trop envi d'ajouter les boutons un par un. Jusque là tout va bien.
Mais le souci est que je souhaiterai que pour chaque bouton que j'ai ajouté, lorsqu'on clique dessus, que la couleur change. Après une recherche j'ai trouvé ceci :
- déclaration d'un nouvel événement pour le bouton créé
Button journee = new Button();
journee.Click += new EventHandler(JourneeButton_Click);
- ensuite création de la méthode "JourneeButton_Click"
private void JourneeButton_Click(object sender, EventArgs e)
{
...
}
Le problème est que je ne sais pas quoi mettre à la place des points de suspension. Si je mets : this.BackColor = Color.MaCouleur;
cela me change le fond du formulaire, or je veux changer uniquement la couleur du bouton (ou son texte ou autre chose).
Je ne sais pas si la méthode est bonne, mais toutes les propositions sont les bienvenues.
SpiritOFire
Messages postés2Date d'inscriptionvendredi 8 mai 2009StatutMembreDernière intervention28 octobre 2009 28 oct. 2009 à 18:48
Oui !!! Merci pour la réponse rapide.
J'avais trouvé un autre moyen entre temps mais je ne sais pas si la méthode n'est pas un peu lourde. Je créais une nouvelle classe héritée de la classe button et je mettais l'événement dedan.
class Journee : Button
{
public Journee()
{
this.Click += new EventHandler(Journee_Click);
}
private void Journee_Click(object sender, EventArgs e)
{
this.BackColor = Color.Gainsboro;
}
}
Je ne sais pas ce qui est mieux, mais j'adopte ta méthode elle est moins "longue".
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 1 déc. 2009 à 10:05
AMICAL BONJOUR A TOI AUSSI
Pour ça, il suffit de mettre une boucle for autour du code qui génère les boutons !
for (int i = 0; i < nb; i++)
{
Button journee = new Button();
MonConteneur.Controls.Add(journee); // On le place dans un conteneur
journee.Size = new Size(100, 30);
journee.Location = new Point(0, 30 * i); // Je te conseille de mettre une position qui dépend de i, sinon ils seront superposés
journee.Click += new EventHandler(journee_Click);
journee.Text = "MonBouton" + (i + 1).ToString();
}
Krimog : while (!(succeed = try())) ; - Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?