[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