Sender et e

cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 - 15 avril 2012 à 19:57
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 16 avril 2012 à 07:52
Bonjour,

J'ai besoin d'une petite precision.

J'utilise de temps en temps le code suivant pour appeller un evenement, avec ou sans la fonction Call. Cela m'evite de reecrire une partie du code.

            Call Button_Click(sender, Nothing)


Ma question concerne plus le role de "sender" et de "e".
Ici, j'utilise "Nothing" a la place de "e" et cela revient au meme.

J'ai eu l'occasion de lire des infos sur ces 2 parametres, mais il n'y a rien a faire, je ne comprends pas vraiment ou completement leur utilite ou plutot leur plein potentiel.

Question peut-etre un peu vague et meme stupide, mais avez-vous des explications (ou un bon lien) sur ce sujet pour que cela rentre dans ma petite tete?

A+,
JLuc01

6 réponses

Utilisateur anonyme
15 avril 2012 à 23:37
Oupss!

Je répondais pour e. C'est la classe EventArgs.
1
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
15 avril 2012 à 20:20
Bonjour,
Cela m'evite de reecrire une partie du code

me donne à penser que tu ferais aussi bien d'écrire ce code dans une procédure, appelable à ton gré, soit depuis le vrai clic, que depuis n'importe où, simplement !
Non ?
Je crois que sous vb.net ceci marcherait également, pour le bouton toto
toto.PerformClick
Mais pourquoi passer par un tel tremplin ? Un appel de procédure me semble plus sage.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
0
cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 1
15 avril 2012 à 22:19
Bonsoir,

Oui, d'accord. Mais, si on a deja cet evenement Button_Click, pourquoi ne pas l'utiliser plutot que de creer une autre procedure. Ou alors, faut-il creer une procedure (ou fonction) et faire appel a cette procedure via cet evenement, puisqu'on en aura besoin dans cet evenement?
Bref, quel est la meilleure facon de faire? D'apres ce que tu ecrit, creer une procedure semble etre plus professionnel.

Tres juste aussi, on peut faire egalement:
Button.PerformClick()

Et je dois dire je prefere cette derniere methode (PerformClick), applicable cependant que pour l'evenement Click.

A part tout cela, je reviens sur ma question initiale: y-a-t-il une facon simple d'expliquer les termes Sender et e? A vrai dire, je comprends mieux le parametre Sender que le parametre e?

Par exemple, cet exemple de MSDN montre bien l'utilisation de Sender:

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click
   Dim s As String
   If sender Is Button1 Then
      s = "button1"
   ElseIf sender Is Button2 Then
      s = "button2"
   End If
   MessageBox.Show("You pressed: " + s)
End Sub


Mais pour le parametre e??? Je suis dubitatif.

A+
JLuc01
0
Utilisateur anonyme
15 avril 2012 à 23:35
C'est écrit dans l'aide. C'est utilisé uniquement par le CLR.
0

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

Posez votre question
cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 1
16 avril 2012 à 00:12
Bonsoir,

En fait, j'ai trouve un bout de code sympa qui montre un peu l'utilisation du parametre e.
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MessageBox.Show(sender.name)
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Button1_Click(sender, e)
    End Sub
End Class

En bref, je dois juste penser a sender=Objet et e=Evenement. C'est evident, meme si leur utilisation ne l'est pas forcement.

Merci pour vos reponses.
JLuc01
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
16 avril 2012 à 07:52
ben le e sont les parametres des evenements...

permet d'avoir une plethore d'arguments, sans avoir un trop long prototype de fonction
permet de surcharger les evenements, en fournissant tel ou tel type d'arguments, etc.


Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
Rejoignez-nous