Interaction entre 2 elements créée dynamiquement

Résolu
nicotie Messages postés 10 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 29 juillet 2010 - 16 juil. 2010 à 14:43
nicotie Messages postés 10 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 29 juillet 2010 - 21 juil. 2010 à 10:41
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

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
16 juil. 2010 à 16:39
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";
3
nicotie Messages postés 10 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 29 juillet 2010
19 juil. 2010 à 09:20
encore merci ca marche impec!!!!!!!!!!!!!!!!!!!!!
3
nicotie Messages postés 10 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 29 juillet 2010
20 juil. 2010 à 09:51
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#
3
gattouso598 Messages postés 6 Date d'inscription vendredi 16 janvier 2009 Statut Membre Dernière intervention 6 août 2010
21 juil. 2010 à 10:35
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???
0

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

Posez votre question
nicotie Messages postés 10 Date d'inscription mercredi 17 mars 2010 Statut Membre Dernière intervention 29 juillet 2010
21 juil. 2010 à 10:41
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
0
Rejoignez-nous