|
Site |
Cours VB.net |
|
|
|
É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 SubPar 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 SubPour 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.
|
|
|
|
|