AddHandler .MouseClick, AddressOf [Résolu]

cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 31 août 2011 à 11:19 - Dernière réponse : NHenry 14133 Messages postés vendredi 14 mars 2003Date d'inscription 22 avril 2018 Dernière intervention
- 31 août 2011 à 13:34
Bonjour à tous
Y a t'il une différence entre

Private  retour As System.Windows.Forms.Button
 AddHandler .MouseClick, AddressOf retour_click
Private Sub retour_click(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        
End Sub


et
 Private WithEvents retour As System.Windows.Forms.Button
Private Sub retour_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles retour.Click

End Sub


merci
Afficher la suite 

4 réponses

Répondre au sujet
NHenry 14133 Messages postés vendredi 14 mars 2003Date d'inscription 22 avril 2018 Dernière intervention - 31 août 2011 à 13:34
+3
Utile
Bonjour,

Oui, c'est avec AddHandler qu'il faut procéder (et RemoveHandler pour la suppression).

Regardes aussi les Delegate car il faut instancier le bon Delegate pour ajouter la gestion de l'événement (souvent EventHandler ou EventHandler(Of ...)

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de NHenry
Utilisateur anonyme - 31 août 2011 à 12:03
0
Utile
Salut Shay,

WithEvents:
Indique qu'une ou plusieurs variables membres déclarées font référence à une instance d'une classe qui peut déclencher des événements.

Que cherches tu à faire?



CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
NHenry 14133 Messages postés vendredi 14 mars 2003Date d'inscription 22 avril 2018 Dernière intervention - 31 août 2011 à 12:48
0
Utile
Bonjour,

La clause Handles permet de lier "statiquement" une fonction/sub à un ou plusieurs événements (du même objet et/ou d'objets différents)

AddHandler, permet de lier une fonction/sub à un événement d'objet/de classe de manière dynamique.

La première est préférés quand l'objet est connu et son cycle de vie stable (bouton sur une form par exemple) tandis que la seconde est surtout utilisé pour les objets créés dynamiquement lors de l'exécution de l'application (Création d'objets/contrôles de manière dynamique par exemple).

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Commenter la réponse de NHenry
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 31 août 2011 à 13:12
0
Utile
Salut Acive

ok
non rien de spéciale j'apprends
c'est bon avec un control
Comme je connaissais pas WithEvents jusqu'à présent je déclarais un évenement d'un control avec
addhandler. addressOF

mais avec Withevents c'est beaucoup plus simple
et pas besoin de déclarer tous les évenements

mais si j'ai besoin de déclarer une list de buttons

 Private WithEvents LISTBUTON As New List(Of Button)
 Private Sub form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim mybutton As New Button
Me.Controls.Add(mybutton)
LISTBUTON.Add(mybutton)
End Sub 


comment je fais accès à l'évenement click
d'un des boutons je pense que dans ce cas il
faut utiliser le addhandler. addressOF

http://msdn.microsoft.com/en-us/library/stf7ebaz(v=VS.90).aspx
Commenter la réponse de cs_ShayW

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.