[C#] Appliquer une méthode à des controls créés en cours d'execution du programm

Résolu
Phenomenium Messages postés 38 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 18 octobre 2006 - 11 juin 2005 à 10:22
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 11 juin 2005 à 13:14
Salut, j'ai fais en sorte que le programme créé des controls en fonction de la demande de l'utilisateur.
Mais je voudrais qu'une fois ces controls créé (en l'occurence des comboBox), leur soit appliquer une méthode qui se lance à chaque fois qu'un utilisateur change l'index de la comboBox. Par exemple, si l'utilisateur choisit "Dupon" dans la comboBox, le programme lance alors la méthode qui recupere les données concernant Dupon dans la base de données.
J'ai créé une methode :

private
void nom_SelectedIndexChanged(
object sender, System.EventArgs e)
{
MessageBox.Show("ok");
}

Mais celle ci ne se lance que sur les comboBox qui etaient présente à l'ouverture du programme et non a celles qui ont ete créés par le choix de l'utilisateur. De plus comment savoir quelle comboBox a été utilisé ?
Quelqun peut il m'eclairer ?

5 réponses

Phenomenium Messages postés 38 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 18 octobre 2006 1
11 juin 2005 à 13:06
c'est bon g trouvé :

ComboBox temp = (ComboBox) sender;


MessageBox.Show(temp.Name);
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
11 juin 2005 à 10:35
Il faut que tu inscrives tes combobox créés dynamiquement a l'evenement SelectedIndexChanged et ca devrait marcher.



ComboBox monCombo = new ComboBox();

monCombo.SelectedIndexChanged += new EventHandler(nom_SelectedIndexChanged);

Mx
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
11 juin 2005 à 10:36
ah, et pour savoir quel comboBox a été utilisé, il faut que tu castes le paramètre sender en ComboBox




private
void nom_SelectedIndexChanged(
object sender, System.EventArgs e)
{

ComboBox temp = (ComboBox) sender;
MessageBox.Show(sender.Name);
}




Mx
0
Phenomenium Messages postés 38 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 18 octobre 2006 1
11 juin 2005 à 13:02
Ok ca marche merci.
Mais pour le :

ComboBox temp = (ComboBox) sender;
MessageBox.Show(sender.Name);

Je vois ce que tu veux faire mais il m'affiche une erreur sur le (sender.Name);

Je cherche, mais bon si tu trouve avant moi ! :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
11 juin 2005 à 13:14
Oui pardon, une petite erreur de ma part

Mx
0
Rejoignez-nous