Recupere evenement clique d'un user control dans la feuille parente

Résolu
matlocker Messages postés 178 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 30 juillet 2008 - 8 sept. 2005 à 11:51
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 8 sept. 2005 à 14:37
Re bonjour,

Je pose une derniere question aujourd'hui :-)

Je viens d'ecire un user control qui genere dynamiquement un bouton et l'evenement clique qui va avec.

Et j'aimerai récuperer dans la fenetre parente l'evenement clique du bouton de mon user control.

Par exemple je clique sur le bouton de mon user control et j'affiche dans un label situé sur la feuille parente "bonjour".

Je pense que je dois utiliser les delegué mais je vois pas trop comment.
Comment m'y prendre ?

Merci.

8 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
8 sept. 2005 à 14:19
Voici une source rien que pour toi :

http://www.csharpfr.com/code.aspx?ID=33709

Sébastien FERRAND
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
8 sept. 2005 à 12:01
il faut que tu déclares un nouvelle évènement dans ton usercontrol :



public event EventHandler ClickButton;



et quand tu reçois le clic sur le bouton, tu fais ca :



if (ClickButton != null) {

ClickButton(this, EventArgs.Empty);

}

Sébastien FERRAND
0
matlocker Messages postés 178 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 30 juillet 2008 1
8 sept. 2005 à 12:09
J'ai pas saisie la.

comment je vais savoir dans mon formulaire parent que j'ai cliqué sur le bouton de mon user control ?
0
el_teedee Messages postés 497 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 13 juillet 2015 9
8 sept. 2005 à 12:15
Dans ton user control tu déclare l'eventHandler de Sebmafate,

et dans ta form parent, tu t'abonnes à ClickButton.

(de mémoire, dans le constructeur des objet de la form, dans la section
"Form", tu rajoutes, this.ClickButton += new le_delegue(fonction_todo);



et si tu fais Tab 2 x, ca te fais direct le squelette de la fonction : fonction_todo()

Je sais pas si g été clair :)
0

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

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
8 sept. 2005 à 12:16
bon, je reprends... moi vite



donc dans ton usercontrol :

tu vas définir un nouvel évènement :



public event EventHandler ButtonClick;



toutjours dans ton usercontrol, tu double cliques sur ton bouton pour ajouter ceci à l'évènement Click:



if (ButtonClick != null) {

ButtonClick(this, e); // le e est en fait l'argument de ton handle

}



maintenant, il ne te reste plus qu'à aller dans ton formulaire et a
t'abonner à l'évènement ButtonClick de ton usercontrol... qui est en
réalité branché sur l'évènement Click de ton bouton.


Sébastien FERRAND
0
matlocker Messages postés 178 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 30 juillet 2008 1
8 sept. 2005 à 12:21
Désolé mais j'ai pas compris encore, je vais essayer de me plonger ds le mecanisme des delegues et evenements.
0
matlocker Messages postés 178 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 30 juillet 2008 1
8 sept. 2005 à 14:36
Merci beaucoup.

C'est super sympa.

bonne journée.
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
8 sept. 2005 à 14:37
0
Rejoignez-nous