Chapitre 3 : Outils de Création de l’interface
PLAN
• Les contrôles : objets visuels prédéfinis
o Formulaire
o Bouton de commande
o Labels
o Zones de texte
o Cases à cocher
o Listes
o Création de menu
o Grilles
• Gestion des erreurs
Rappels
• Un objet
• Une propriété
• Une méthode
• Une procédure événementielle
1
Option : Génie Logiciel
UE : [Link]
La procédure événementielle
• Appel de la procédure évènementielle :
Private sub NomObjet_NomEvenement(Arguments)
Instructions
End Sub
Exemple :
Private Sub BtOk_Click (ByVal sender As [Link], ByVal e As
[Link]) Handles [Link]
End Sub
• Private Sub : La procédure évènement est privée donc accessible uniquement dans le
module.
• BtOk_Click : Après le mot Sub il y a un nom de procédure. Ce nom est construit avec le
nom du contrôle et l'évènement.
• Sender : indique le contrôle ayant déclenché l'évènement. C’est un Objet.
[Link] contient par exemple le nom du contrôle ayant déclenché l'évènement.
• e : C'est une variable de type SystemEventArgs qui permet de connaître l'évènement
qui à déclencher la procédure.
• Handles : Indique quel objet et évènement à déclencher la procédure.
• Handles [Link] indique que c'est l'évènement Click sur l'objet BtOk qui déclenche la
procédure.
Formulaires (ou feuilles)
Le composant de base de toute application VB
• Une feuille principale Form1
• On peut ajouter d’autres fenêtres par :
o Menu Project : Ajouter un formulaire (Add Windows Form)
o Form1 est une fenêtre crée avec la classe [Link]
• Suppression de feuille par Edit/Delete ou par menu contextuel
• Enregistrement de la feuille avec l’extension [Link] par le menu File/Save as
Propriétés du Formulaire
• Les propriétés essentielles concernant la feuille :
2
Option : Génie Logiciel
UE : [Link]
o Name est commune à tous les objets, il sert à référencer l’objet dans le code.
Accessible en mode conception uniquement.
o Text : le texte associé à l’objet sur l’écran. C'est le texte qui apparaît à la barre de
titre en haut. Accessible en mode conception ou dans le code.
o Visible : gère le caractère visible de l'objet
▪ [Link] = false : fait disparaître le formulaire nommé frmAcceuil
[Link]()
o WindowState : donne l'état de la fenêtre
▪ Plein écran : [Link]
▪ Normal : [Link]
▪ Dans la barre des tâches : [Link]
o ControlBox : gère la présence (True) ou non du menu système
o FormBorderStyle : permet de choisir le type des bords de la fenêtre
▪ [Link] = [Link]
o Pour changer une propriété du formulaire courant / On utilise la syntaxe :
▪ Me.Nom_propriété = valeur
Méthodes du Formulaire
Exemples :
o Show : charge la feuille en mémoire et la rend visible à l’écran :
o [Link]()
o Hide : rend la feuille invisible
o [Link]()
Procédures événementielles du Formulaire
Exemples d’évènements :
o Load (chargement) : cette procédure contient tout ce que l’application doit faire au
moment où le formulaire en question doit se charger en mémoire vive.
o MouseDown
o MouseMove
Bouton de commande
3
Option : Génie Logiciel
UE : [Link]
Le contrôle CommandButton
Les propriétés essentielles :
o Name : Nom de l’objet utilisé dans le code
o Text : ce qui s’affiche sur le bouton de commande (Ok, Annuler ..)
o Enabled : actif pour True et inactif pour False
o FlatStyle : pour changer l’aspect du bouton
o L’événement principal est le Click
Label
• Contrôle « inerte » qui sert à afficher un texte sur une feuille (étiquette)
• L’utilisateur ne peut pas saisir du texte sur ce contrôle.
• Quelques propriétés : Name, Text, Alignement et BorderStyle Autosize, etc.
TextBox
• C’est une zone qui sert à afficher une information saisie au clavier par l’utilisateur
• Les zones de texte sont de type texte
• Pour convertir en valeur numérique on utilise la fonction :
o Dim X as double
o X = Val([Link])
TextBox : propriétés
Quelques propriétés :
o Text : désigne son contenu
o Multiline : autorise ou non l’écriture sur plusieurs lignes
o Scrollbar, Passwordchar et Maxlength
Quelques événements
o Keypress : survient quand la touche est enfoncée
o Permet de récupérer la touche pressée par [Link] (sauf F1, F2 ..)
o KeyUp : survient quand on relâche la touche
o KeyDown : survient quand on appuie sur une touche
o Permettent de savoir si ALT, CTL ont été pressée
Comment interdire la frappe de certains caractères dans un TextBox ?
4
Option : Génie Logiciel
UE : [Link]
o On utilise KeyPress, il retourne un objet e
o [Link] : contient la caractère pressé mais il est en lecture seule.
o Pour annuler la frappe : [Link] = True
o Exemple pour écrire que des valeurs numériques :
If IsNumeric([Link]) Then
[Link] = False
Else
[Link] = True
End If
Contrôles Cases
o Cases à cocher (CheckBox) : permettent des choix indépendants même s’ils sont
regroupés dans un même cadre (GroupBox)
o Cases d’options (RadioButton) : permettent de choisir une seule option parmi un
groupe de choix exclusive
o Propriété :
o Checked : permet de savoir si la case est cochée
o Événement :
o CheckedChange() : permet d'intercepter le changement d'état du bouton ou case
Utiliser un GroupBox
o Pour cocher toutes les cases
Dim x As CheckBox
For Each x In [Link]
[Link] = True
Next
o Pour décocher toutes les cases
Dim x As CheckBox
For Each x In [Link]
[Link] = False
Next
Contrôles Listes
o ListBox : non modifiable et non déroulante
5
Option : Génie Logiciel
UE : [Link]
o ComboBox : modifiable et déroulante
Propriétés
o [Link] : indique le nombre d'éléments dans la liste
o Le 1er élément de la liste est d'index 0
Méthodes de ListBox
o Pour ajouter dans une liste :
o [Link]("Rabat")
o [Link](4,"Safi") 'ajoute à la 4ème position
o Pour supprimer des éléments d'une liste :
o [Link](5) :Enlève l'élément d'index 5
o [Link]("Salé") :Enlève 'Salé' de la liste
o [Link]([Link]) : Enlève l'élément sélectionné
o Pour vider une liste
o [Link]
Création de menu : Objet MainMenu
o La commande Tools/Choose ToolBox/ Items
o Pour chaque Commande de menu, on utilise sa fenêtre de propriétés
o Enabled, Checked, ShortCut
o L'événement essentiel: Click
L’objet : Grilles
o Ajouter un objet de type : DataGridView
o Changer sa propriété Name : "Grille"
o Pour mettre 3 colonnes et 20 lignes dans la grille :
o [Link] = 20
o [Link] = 3
o [Link](i, j).Value = 12
o Met la valeur 12 à la colonne i et ligne j
o Pour nommer les en têtes des colonnes :
o .Columns(0).Name = "Nom"
6
Option : Génie Logiciel
UE : [Link]
o .Columns(1).Name = "Prénom"
o .RowHeadersVisible = False : pas de première colonne d'en tête des lignes
o .Columns(2).Width = 30 : dimensionner la largeur de la colonne 2
o Empêche les modifications de lignes, colonnes, l'ajout, la suppression :
o .AllowUserToAddRows = False
o .AllowUserToDeleteRows = False
o .AllowUserToOrderColumns = False
o .AllowUserToResizeColumns = False
o .AllowUserToResizeRows = False
o Une ligne sur 2 en bleue
o .[Link] = [Link]
o .[Link] = [Link]
o Interdire la sélection de plusieurs cellules
o .MultiSelect = False
7
Option : Génie Logiciel
UE : [Link]