Interaction entre 2 elements créée dynamiquement [Résolu]

Signaler
Messages postés
10
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
29 juillet 2010
-
Messages postés
10
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
29 juillet 2010
-
bonjour les artistes du c#, je débute ou presque , voici les données du probleme,je crée dynamiquement une texte box et un bouton lors du click sur un autre bouton( pivot dans l'exemple). je veux ecrire "prout" dans la textbox en appuyant sur le 2eme bouton qui a été créé dynamiquement, comment que je fait y?

private void button_pivot_Click(object sender, EventArgs e)
{
TextBox txt_rech = new TextBox(); //je crée ma textbox
onglet.Controls.Add(txt_rech); // je l'ajoute a mon onglet

Button btn_rech = new Button();//je crée mon bouton
onglet.Controls.Add(btn_rech); // je l'ajoute a mon onglet
btn_rech.Click += new EventHandler(btn_rech_Click); //je declare l'evenement
}

protected void btn_rech_Click(object sender, EventArgs e)
{
???????????? qu'est ce que je met pour ecrire dans la textbox "txt_rech"??????
}



merci d'avance vous m'enleverez une poutre du pied

5 réponses

Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
Plusieurs solutions :

1 - (la plus simple) : Mettre la textbox associée au bouton dans le Tag du bouton :

btn_rech.Tag = txt_rech;

puis dans ton handler :
TextBox txt_rech = (TextBox)((Button)sender).Tag;

2 - Stocker une map de tes buttons et textbox en membre :

Dictionary m_Ctrls = new Dictionary();

Dans la méthode de création dynamique des controls :
m_Ctrls.Add(btn_rech, txt_rech);

Dans le handler de click sur le bouton :
m_Ctrls[(Button)sender].Text = "prout";
Messages postés
10
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
29 juillet 2010

encore merci ca marche impec!!!!!!!!!!!!!!!!!!!!!
Messages postés
10
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
29 juillet 2010

ben me revoila, cela fonctionne pour 2 objet mais si on en a plusieurs, un bouton, un textbox et une richtextbox, partant du meme exemple, j'ecrit un truc dans le txtbox et quand j'appuie sur le bouton ca l'ecrit dans la richtextbox? sachant que tout ces controls ont été créé dynamiquement bien sur, sinon c pas drole. me suis cassé la tete toute la journnée hier, fouiller sur le web pas trouvé. (pas facile de trouver un truc qu'on connait meme pas le nom) , merci d'avance aux aficionados du C#
Messages postés
6
Date d'inscription
vendredi 16 janvier 2009
Statut
Membre
Dernière intervention
6 août 2010

mon problème c'est que je veut quand j'appuie sur le bouton je commence directement écrire sur le textbox
quelqu'un peut m'aider???
Messages postés
10
Date d'inscription
mercredi 17 mars 2010
Statut
Membre
Dernière intervention
29 juillet 2010

mec tu viens pourrir mon post avec un autre probleme et en plus on comprends rien c'est meme pas francais ce que tu ecrit