cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 2019
-
31 août 2011 à 11:19
NHenry
Messages postés15090Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 6 novembre 2023
-
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
NHenry
Messages postés15090Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 6 novembre 2023159 31 août 2011 à 13:34
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 ---
NHenry
Messages postés15090Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 6 novembre 2023159 31 août 2011 à 12:48
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 ---
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 31 août 2011 à 13:12
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