Bonsoir,
J'ai plusieurs formulaires et j'aimerais créer, dans une classe à part une procédure pour automatiser la création de checkbox dans un contrôle de type panel. Pour l'instant ça marche
La classe (dans le code, j'ai enlevé tout ce qui était positionnement,...):
l'appel depuis un formulaire :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 class ClsUtilitaire { public static void AjoutCheckBox(Int16 nb, Panel UnPanel, Form uneForme, String UnPrefixe) { for (Int16 i = 0; i < nb; i++) { CheckBox UneCheckBox=new CheckBox(); UneCheckBox.Name=UnPrefixe+i.ToString(); UnPanel.Controls.Add(UneCheckBox); } } }
Tout va bien.Code:
1
2
3
4
5
6
7
8
9
10
11
12 public partial class FrmTest : Form { public FrmTest() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { ClsUtilitaire.AjoutCheckBox(5, panel1, this, "Essai_"); } }
Par contre j'aimerais créer un eventHandler sur l'événement CheckedChanged.
Là j'ai 2 soucis :
Souci 1 : je n'arrive pas à caster le paramètre UneForme dans la classe du formulaire qui appelle la méthode AjoutCheckBox, et je suis obligé de déclarer le paramètre de type Form car la demande peut venir de plusieurs formulaires différents.
Souci 2 : comment faire passer le nom de la méthode dans le paramètre de eventhandler ?
J'avais pensé créer la même méthode dans chaque classe Form, mais comme j'ai plusieurs panel qui peuvent accueillir des checkboxes, le souci 2 reste entier.Code:UneCheckBox.CheckedChanged += new System.EventHandler(???)
ma question est donc, comment construire le paramètre à passer au constructeur du EventHandler ? ???
En espérant avoir été clair,
merci pour vos réponses