Recupere evenement clique d'un user control dans la feuille parente [Résolu]

matlocker 178 Messages postés jeudi 21 février 2002Date d'inscription 30 juillet 2008 Dernière intervention - 8 sept. 2005 à 11:51 - Dernière réponse : sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 8 sept. 2005 à 14:19
3
Merci
Voici une source rien que pour toi :

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

Sébastien FERRAND

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de sebmafate
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 8 sept. 2005 à 12:01
0
Merci
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
Commenter la réponse de sebmafate
matlocker 178 Messages postés jeudi 21 février 2002Date d'inscription 30 juillet 2008 Dernière intervention - 8 sept. 2005 à 12:09
0
Merci
J'ai pas saisie la.

comment je vais savoir dans mon formulaire parent que j'ai cliqué sur le bouton de mon user control ?
Commenter la réponse de matlocker
el_teedee 498 Messages postés mercredi 7 juillet 2004Date d'inscription 13 juillet 2015 Dernière intervention - 8 sept. 2005 à 12:15
0
Merci
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 :)
Commenter la réponse de el_teedee
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 8 sept. 2005 à 12:16
0
Merci
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
Commenter la réponse de sebmafate
matlocker 178 Messages postés jeudi 21 février 2002Date d'inscription 30 juillet 2008 Dernière intervention - 8 sept. 2005 à 12:21
0
Merci
Désolé mais j'ai pas compris encore, je vais essayer de me plonger ds le mecanisme des delegues et evenements.
Commenter la réponse de matlocker
matlocker 178 Messages postés jeudi 21 février 2002Date d'inscription 30 juillet 2008 Dernière intervention - 8 sept. 2005 à 14:36
0
Merci
Merci beaucoup.

C'est super sympa.

bonne journée.
Commenter la réponse de matlocker
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 8 sept. 2005 à 14:37
0
Merci
de rien.

Sébastien FERRAND
Commenter la réponse de sebmafate

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.