Création graphique
Comme je vous l'ai dit, L'IDE va grandement nous mâcher le travail : un assistant est fourni avec pour créer ces menus.
Mettons-nous y : prenez l'objet
MenuStrip et insérez-le sur votre feuille (feuille vide de préférence

)
Vous voyez donc que ce menu se place automatiquement en haut de votre feuille, vous ne le voulez pas en haut,
vous êtes pénibles !, pas de problème une propriété permet de choisir la position dans la feuille de ce menu (gauche, droite, etc...), ou un superbe objet : le
ToolStripContainer.
Cette propriété est
Dock, et comme notre IDE est gentil, il nous offre la possibilité de paramétrer cette propriété en cliquant sur la petite flèche en haut à droite de notre menu :
Bon, passons au remplissage de ce menu !
Comme vous le voyez, lorsqu'il est sélectionné, le menu vous affiche un petit "Tapez ici" (non, ne sortez pas votre marteau !), comme quoi on ne peut plus facile !
La première "ligne" correspond aux menus principaux (comme fichier, édition ...) Écrivez donc le nom de votre premier menu (pour moi ce sera fichier

). Vous devez voir lors de l'écriture de ce premier menu 2 cases supplémentaires (qui sont également masochistes apparemment), celle du dessous correspond au premier sous-menu de notre premier menu (
Fichier -> Nouveau par exemple), la seconde est celle qui nous permet de créer un second menu.
Ne grillons pas les étapes, remplissons déjà notre premier menu !
Pour moi ce sera "
Reset" et celui en dessous "
Quitter".
Il y a encore des Tapez qui apparaissent, je fais quoi ?
Eh bien ces cases permettent de créer des sous-menus qui vous offrent plusieurs choix.
Comme vous allez le voir, la possibilité de créer notre menu entièrement personnalisé est bien réelle !
Bon, je crée un second menu, faites de même :
Puis, pour finir un petit label au centre de la feuille :
LBL_TEXTE.
Evènements
Maintenant, attaquons la gestion des évènements !
Ces évènements seront créés grâce à l'assistant Visual studio comme le clic sur un bouton : un double clic sur le sous-menu que vous voulez gérer, le code s'ajoute automatiquement :
Code : VB.NET | Private Sub BonjourToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BonjourToolStripMenuItem.Click
End Sub
|
Faites cela pour tous les sous-menus (sinon à quoi ça sert de les créer

).
Je peux le faire sur les menus comme "Fichier" aussi ?
Oui bien sûr, si vous en trouvez l'utilité !
Bon, voilà donc le code dûment rempli :
Code : VB.NET 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 | Public Class Form1
Private Sub ResetToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ResetToolStripMenuItem.Click
Me.LBL_TEXTE.Text = ""
End Sub
Private Sub QuitterToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles QuitterToolStripMenuItem.Click
End
End Sub
Private Sub BonjourToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BonjourToolStripMenuItem.Click
Me.LBL_TEXTE.Text = "Bonjour !"
End Sub
Private Sub AuRevoirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AuRevoirToolStripMenuItem.Click
Me.LBL_TEXTE.Text = "Au revoir."
End Sub
Private Sub CiaoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CiaoToolStripMenuItem.Click
Me.LBL_TEXTE.Text = "Ciao."
End Sub
Private Sub ByeByeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ByeByeToolStripMenuItem.Click
Me.LBL_TEXTE.Text = "Bye bye."
End Sub
Private Sub AstalavistaBabyToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AstalavistaBabyToolStripMenuItem.Click
Me.LBL_TEXTE.Text = "Astalavista baby !"
End Sub
End Class
|
Eh oui, tant de lignes pour si peu ! Je pense que vous avez compris
l'utilité ce que doit faire le programme : lors du clic sur une sous-menu de "
Afficher", il affiche ce texte, lors du clic sur
Reset, il efface, et lors du clic sur
Quitter, il quitte le programme (le
end effectuant cette action).
Bon, vous vous souvenez des
MsgBox ?
Eh bien elles vont nous être utiles ici : nous allons mettre une confirmation de sortie du programme.
Je pense que vous êtes capables de le faire tout seul mais bon, je suis trop aimable :
Code : VB.NET | If MsgBox("Souhaitez-vous vraiment quitter ce magnifique programme ?", 36, "Quitter") = MsgBoxResult.Yes Then
End
End If
|
Pourquoi 36 en second argument ?
Vous ne vous en souvenez pas ? Je vous redonne le tableau :
| Membre | Valeur | Description |
|---|
| OKOnly |
0 |
Affiche le bouton OK uniquement. |
| OKCancel |
1 |
Affiche les boutons OK et Annuler. |
| AbortRetryIgnore |
2 |
Affiche les boutons Abandonner, Réessayer et Ignorer. |
| YesNoCancel |
3 |
Affiche les boutons Oui, Non et Annuler. |
| YesNo |
4 |
Affiche les boutons Oui et Non. |
| RetryCancel |
5 |
Affiche les boutons Réessayer et Annuler. |
| Critical |
16 |
Affiche l'icône Message critique. |
| Question |
32 |
Affiche l'icône Requête d'avertissement. |
| Exclamation |
48 |
Affiche l'icône Message d'avertissement. |
| Information |
64 |
Affiche l'icône Message d'information. |
| DefaultButton1 |
0 |
Le premier bouton est le bouton par défaut. |
| DefaultButton2 |
256 |
Le deuxième bouton est le bouton par défaut. |
| DefaultButton3 |
512 |
Le troisième bouton est le bouton par défaut. |
| ApplicationModal |
0 |
L'application est modale. L'utilisateur doit répondre au message avant de poursuivre le travail dans l'application en cours. |
| SystemModal |
4096 |
Le système est modal. Toutes les applications sont interrompues jusqu'à ce que l'utilisateur réponde au message. |
| MsgBoxSetForeground |
65536 |
Spécifie la fenêtre de message comme fenêtre de premier plan. |
Et voilà votre programme qui affiche ce que vous voulez et qui vous demande une confirmation de fermeture :