Site:  Cours VB.net  
1.22 Évènements, surcharge.

 

Évènement et procédure évènement:

On a vu qu'un objet pouvait avoir un évènement ou des évènements.

L'objet 'Button1' à un évènement Button1.Click 

Comment faire pour que l'action de cliquer sur le bouton1 exécute une procédure?

Il faut l'indiquer grâce à Handles.

Si on veut que le Click sur Button1 exécute la procédure(la Sub) MaRoutine, il faut écrire:

Sub Maroutine() Handles Button1.Click

End Sub

Ainsi quand l'utilisateur clique sur le bouton, la procédure Maroutine est exécutée.

 

VB, qui est vraiment très sympa, écrit automatiquement le code pour vous:

En mode 'Design', créez un bouton, double-cliquez dessus, vous vous retrouvez dans la procédure:

Private Sub Button1_Click() Handles Button1.Click

End Sub

Par défaut il a nommé la procédure Button1_Click (mais elle aurait pu se nommer autrement).

 

Dans la réalité, il a ajouté 2 paramètres:

'Sender' qui contient le nom de l'objet qui a déclenché l'évènement(c'est un objet)

'e' est un objet qui contient les arguments de cet évènement (de type EventAgrs mais pas toujours).

Cela donne:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

End Sub

Pour les forts et pour être complet, dans Form1.InitializeComponent (c'est une routine ou il  y a le code créant les contrôles), il y a la ligne:

Friend WithEvents Button1 As System.Windows.Forms.Button qui indique que le bouton gère des évènements (WithEvents).  

En conclusion:

VB écrit automatiquement les procédures évènement. On verra plus loin qu'il est possible de créer nous même nos objets, évènements et procédures évènement.

 

Surcharge de Méthode:

Quand on utilise une méthode avec des paramètres, il y a parfois possibilité d'utiliser, avec la même méthode, un nombre différent de paramètres ou des paramètres de nature différente: on appelle cela surcharger la méthode.

Chaque manière d'écrire les paramètres s'appelle une signature.

Exemple:

Voici une fenêtre MessageBox:  

 pour  ouvrir une fenêtre MessageBox il y a 12 signatures, en voici 2:

Reponse= MessageBox.show(TexteAAfficher,Titre, TypeBouton etIcone, BoutonParDéfaut)
Ici on donne 4 paramètres.
 

Reponse= MessageBox.show(TexteAAfficher)

Ici 1 seul paramètre.

On voit qu'on peut appeler la méthode MessageBox.Show avec un nombre différent de paramètres.

Comme on ne peut pas connaître toutes les signatures, VB nous aide:

Si on tape R= MessageBox.show(  VB affiche dans un cadre une signature, de petites flèches permettent de faire défiler tous les autres signatures:  

 

Lexique anglais=>Français:

HANDLE poignet, manette (nom), manipuler, exécuter (verbe).

HANDLE Définition Valeur numérique identifiant un objet et permettant sa manipulation.