04 visual basic .net - les controles standard - exercice
1. PARTIE I
LES CONTRÔLES STANDARD
Dans cette partie, nous allons apprendre à utiliser les contrôles standards de Visual Basic .NET grâce à
un exercice de démonstration.
1 ÉNONCE DE L’EXERCICE 3
Créer un formulaire qui permet de faire défiler le texte de votre choix, tout en donnant la possibilité de
personnaliser son apparence.
1.1 ÉTAPES À SUIVRE
1.1.1 LE CONTRÔLE PICTUREBOX
a. Créez un nouveau projet Application Windows de nom ControlesStandard et entrez « Les
contrôles standard » dans la propriété TEXT du formulaire.
b. Ajoute un contrôle PICTUREBOX dans le haut du formulaire, sans vous soucier de son
alignement, en le nommant picSupport.
c. Sélectionnez la valeur TOP dans la propriété DOCK du contrôle picSupport
2. 1.1.1.1 LA PROPRIÉTÉ BACKCOLOR
a. Sélectionnez la couleur noire dans l'onglet PERSONNALISER de la propriété BACKCOLOR de
picSupport
1.1.2 LE CONTRÔLE LABEL
a. Tracez un contrôle LABEL à l'intérieur du contrôle picSupport
b. Nommez ce contrôle lblMessage et entrez « Les contrôles sont animés !!! » dans la propriété
TEXT
c. Choisissez l'option TRUE dans la propriété AUTOSIZE afin d'ajuster automatiquement la taille
de l'étiquette en fonction de la longueur du texte qui sera entré dans la propriété TEXT
1.1.2.1 LES PROPRIETES FORECOLOR ET BACKCOLOR
a. Sélectionnez la couleur verte située dans la 3ème ligne de la palette de couleurs de l'onglet
PERSONNALISER, dans la propriété FORECOLOR de lblMessage
b. Choisissez la couleur noire dans la propriété BACKCOLOR
1.1.3 LE CONTRÔLE COMBOBOX
a. Ajoutez un contrôle LABEL et un contrôle COMBOBOX d'après l'image-écran ci-dessous, puis
nommez cboListePolices le contrôle COMBOBOX
1.1.3.1 LA PROPRIÉTÉ ITEMS
a. Sélectionnez la propriété ITEMS de cboListePolices et cliquez sur « ... »
b. Tapez les valeurs suivantes, sans vous soucier de l'ordre dans lequel vous les ajoutez, puis
fermez la fenêtre en cliquant sur OK
Arial
Times New Roman
Courier New
3. 1.1.3.2 LA PROPRIÉTÉ DROPDOWNSTYLE
a. Sélectionnez l'option DROPDOWNLIST dans la propriété DROPDOWNSTYLE du contrôle
cboListePolices
1.1.3.3 LA PROPRIÉTÉ SORTED
a. Activez la propriété SORTED en choisissant l'option TRUE
1.1.3.4 LA PROPRIÉTÉ TEXT
a. Positionnez-vous dans la procédure associée au gestionnaire de l'événement
SELECTEDINDEXCHANGED de la liste cboListePolices, et entrez l'instruction suivante :
lblMessage.Font = New Font(cboListePolices.Text, lblMessage.Font.Size)
1.1.3.5 LA CLASSE FONT
Pour observer l'effet de cette instruction :
a. Cliquez sur l'outil ENREGISTRER pour sauvegarder votre projet, et appuyez sur la touche F5
pour lancer l'application en mode RUN
b. Sélectionnez successivement les différentes polices de caractères dans la liste pour vérifier son
fonctionnement, puis revenez en mode DESIGN
1.1.4 LES CONTRÔLES GROUPBOX ET RADIOBUTTON
a. Tracez un contrôle GROUPBOX et entrez « Tailles des caractères » dans la propriété TEXT
b. Tracez 3 contrôles RADIOBUTTON à l'intérieur du contrôle GROUPBOX
c. Lancez l'application en mode RUN et vérifiez le fonctionnement du groupe (seule une option
peut être active à la fois)
d. Entrez, respectivement, optTaille8, optTaille10 et optTaille12 dans la propriété NAME des trois
contrôles RADIOBUTTON, puis Taille 8, Taille 10 et Taille 12 dans la propriété TEXT
e. Entrez l'instruction suivante dans la procédure OPTTAILLE8_CHECKEDCHANGED :
lblMessage.Font = New Font(cboListePolices.Text, 8)
a. Recopiez cette instruction dans les procédures OPTTAILLE10_CHECKEDCHANGED et
OPTTAILLE12_CHECKEDCHANGED, en remplaçant respectivement la valeur 8 par 10 et 12
4. 1.1.4.1 LA PROPRIÉTÉ CHECKAI D' UN CONTRÔLE RADIOBUTTON
a. Choisissez la valeur TRUE dans la propriété CHECKED du contrôle optTaille8 et lancez
l'application en sélectionnant les différentes tailles de caractères pour vérifier le
fonctionnement du groupe d'options.
1.1.5 AJOUTEZ UN CONTRÔLE TIMER
a. Ajoutez un contrôle TIMER au formulaire et nommez le timAnimateur
1.1.5.1 LA PROPRIÉTÉ INTERVAL
a. Tapez 500 dans la propriété INTERVAL du contrôle TIMER pour que la procédure que nous
allons écrire soit exécutée deux fois par seconde
1.1.5.2 L'ÉVÉNEMENT TICK
a. Faites un double click sur le contrôle TIMER
b. Entrez les instructions suivantes dans la procédure du gestionnaire de l'événement TICK :
IflblMessage.Left < picSupport.Width Then
lblMessage.Left += 5
Else
lblMessage.Left = -lblMessage.Width
EndIf
1.1.6 LE CONTRÔLE CHECKBOX
a. Tracez un contrôle CHECKBOX d'après l'image-écran ci-après, puis entrez chkDefilement dans
la propriété NAME, et Défilement dans la propriété TEXT
5. b. Sélectionnez la valeur TRUE dans la propriété CHECKED pour définir la valeur initiale de la
case à cocher
a. Tapez l'instruction suivante dans la procédure CHKDEFILEMENT_CHECKEDCHANGED :
Timer1.Enabled = chkDefilement.Checked
a. Lancez l'application en mode RUN pour vérifier le fonctionnement de la case à cocher, puis
revenez en mode DESIGN
1.1.7 LE CONTRÔLE TRACKBAR
a. Tracez un contrôle TRACKBAR sous la case à cocher chkDefilement et entrez trkVitesse dans la
propriété NAME
b. Tracez un contrôle LABEL au-dessus, entrez Vitesse dans la propriété TEXT et choisissez
l'option MIDDLECENTER dans la propriété TEXTALIGN pour centrer le texte
6. a. Tapez 10 dans la propriété MINIMUM, et 500 dans la propriété MAXIMUM
b. Entrez la valeur 49 dans la propriété TICKFREQUENCY pour afficher 10 graduations
c. Entrez l'instruction suivante dans le gestionnaire de l'événement TRKVITESSE_SCROLL
Timer1.Interval = trkVitesse.Value
a. Tapez 500 dans la propriété VALUE du contrôle trkVitesse
b. Lancez l'application et déplacez le curseur du contrôle trkVitesse pour vérifier son
fonctionnement
c. Modifiez l'instruction dans la procédure TRKVITESSE_SCROLL de la manière suivante :
Timer1.Interval = 510 - trkVitesse.Value
a. Mettez la valeur de la propriété VALUE du contrôle trkVitesse à 10 et relancez le projet pour
vérifier l'effet de ces réglages
1.1.8 LE CONTROLE MENUSTRIP
a. Ajoutez un contrôle MENUSTRIP sur le formulaire
1.1.8.1 AJOUTER DES COMMANDES DANS UN MENU
a. Cliquez dans la zone « TAPEZ ICI » pour passer en édition du menu
b. Entrez « &Général » dans la zone mise en surbrillance, et validez par la touche Entrée
c. Entrez « &Texte du Message » pour définir le texte de la première commande, et appuyez sur
Entrée pour passer à l'élément de menu suivant
d. Entrez « - » pour créer une ligne séparatrice
e. Appuyez sur Entrée et entrez « &Quitter »
f. Nommez les 3 menus crées msGeneral, msMessage et msQuitter
1.1.8.2 AFFECTER UN RACCOURCI CLAVIER A UNE COMMANDE
a. Sélectionnez CTRLQ dans la liste de la propriété ShortCut de l'élément de menu msQuitter
7. 1.1.8.3 PROGRAMMER UNE COMMANDE
a. Double-cliquez sur la commande Quitter dans le menu Général en mode DESIGN et tapez
« End » dans la procédure MSQUITTER_CLICK
b. Lancez l'application et sélectionnez la commande Quitter dans le menu Général pour vérifier
son fonctionnement
1.1.9 L'INSTRUCTION INPUTBOX
1.1.9.1 LA NOTION DE FONCTION ET D'ARGUMENTS
a. Tapez l'instruction suivante dans la procédure MSMESSAGE_CLICK
lblMessage.Text = InputBox(« Veuillez entrer votre message SVP. »)
a. Lancez l'application et sélectionnez la commande « Texte du message » dans le menu Général
b. Tapez « Bonjour !!! » et cliquez sur OK pour valider
1.1.10 L'ÉVÉNEMENT LOAD D'UN FORMULAIRE
a. Afin d'améliorer notre projet, nous allons changer la méthode de remplissage des éléments du
COMBOBOX.
b. Effacez les noms de polices qui ont été saisies dans la propriété ITEMS du contrôle
cboListePolices
c. Faites un double clic sur la grille formulaire en dehors d'un contrôle pour obtenir la procédure
associée à l'événement Load et entrez les instructions suivantes :
cboListePolices.Items.Add(« Arial »)
cboListePolices.Items.Add(« Verdana »)
cboListePolices.Items.Add(« Courrier New »)
a. Lancez l'application pour vérifier le remplissage de la liste
1.1.11 L'INSTRUCTION WITH
a. On peut simplifier l'écriture du code précédent en utilisant l'instruction WITH.
With cboListePolices.Items
.Add("Arial")
.Add("Verdana")
.Add("Courrier New")
End With
1.1.12 GÉRER LES FICHIERS DU PROJET
8. a. Entrez frmContrôles dans la propriété NAME du formulaire Form1 (assurez-vous que toutes les
fenêtres du formulaire sont bien fermées avant de faire cette étape)
b. Ajoutez un deuxième formulaire avec la commande PROJET/AJOUTER UN FORMULAIRE
WINDOWS
c. Entrez frmSaisieMessage.vb dans la zone NOM et cliquez sur le bouton OUVRIR en vérifiant
que le modèle WINDOWS FORM est bien sélectionné
1.1.13 ÉTABLIR LE DIALOGUE ENTRE DEUX FORMULAIRES
Nous allons maintenant remplacer l'instruction INPUTBOX par un formulaire qui nous donne plus de
flexibilité en matière de design.
9. a. Ajoutez un contrôle TEXTBOX txtMessage avec un contrôle LABEL lblMessage et un contrôle
BUTTON btnFermer
b. Choisissez la valeur FIXEDTOOLWINDOW dans la propriété FORMBORDERSTYLE de manière
à fixer la taille du formulaire en mode RUN et à éliminer les boutons de réduction et
d'agrandissement de la fenêtre
c. Ajoutez une apostrophe devant l'instruction de la fonction INPUTBOX dans la procédure
MSMESSAGE_CLICK et ajoutez le code suivant :
Dim f As New frmSaisieMessage
f.ShowDialog()
Me.lblMessage.Text = f.txtMessage.Text
f.Close()
a. Dans la procédure associée à l'événement CLICK du bouton btnFermer du formulaire
frmSaisieMessage, entrez l'instruction suivante destinée à masquer le formulaire sans le
refermer :
Me.Hide()
1.1.14 ENREGISTREMENT D'UNE SOLUTION
a. Cliquez sur l'outil Enregistrer et sélectionnez la commande FICHIER/FERMER LE PROJET
10. 2 À RETENIR
2.1.1 LE CONTRÔLE PICTUREBOX
1) En général, PICTUREBOX est utilisé pour afficher des graphismes issus de fichiers bitmap, icône,
JPEG, GIF, PNG ou de métafichiers.
2.1.2 LE CONTROLE LABEL
Les contrôles LABEL sont généralement utilisés pour fournir un texte descriptif à un contrôle.Par
exemple, vous pouvez utiliser un LABEL pour ajouter le texte descriptif pour un contrôle TEXTBOX
pour informer l'utilisateur à propos du type de données attendu dans le contrôle.Les contrôles LABEL
peuvent également être utilisés pour ajouter le texte descriptif à un FORM pour fournir des
informations utiles à l'utilisateur. Par exemple, vous pouvez ajouter un LABEL en haut d'un FORM qui
fournit des instructions à l'utilisateur sur le mode d'entrée de données dans les contrôles sur le
formulaire.Les contrôles LABEL peuvent également être utilisés pour afficher des informations sur l'état
d'une application au moment de l'exécution. Par exemple, vous pouvez ajouter un contrôle LABEL à un
formulaire pour afficher l'état de chacun des fichiers lors du traitement d'une liste de fichiers.
2.1.2.1 LES PROPRIETES FORECOLOR ET BACKCOLOR
2.1.2.1.1.1.1 FORECOLOR
Obtient ou définit la couleur de premier plan du contrôle.
2.1.2.1.1.1.2 BACKCOLOR
Obtient ou définit la couleur d'arrière-plan du contrôle.
2.1.3 LE CONTRÔLE COMBOBOX
Un COMBOBOX affiche une zone de texte associée à un LISTBOX, qui permet à l'utilisateur de
sélectionner des éléments dans la liste ou d'entrer une nouvelle valeur.
2.1.3.1.1.1.1 LA PROPRIÉTÉ ITEMS
Cette propriété vous permet d'obtenir une référence à la liste d'éléments actuellement stockés dans
COMBOBOX. Avec cette référence, vous pouvez ajouter des éléments, supprimer des éléments et
obtenir le décompte des éléments dans la collection.
11. 2.1.3.1.1.1.2 LA PROPRIÉTÉ DROPDOWNSTYLE
La propriété DROPDOWNSTYLE spécifie si la liste est toujours affichée ou si la liste est affichée en tant
que liste déroulante.La propriété DROPDOWNSTYLE spécifie également si la partie de texte peut être
modifiée.
2.1.3.1.1.1.3 LA PROPRIÉTÉ SORTED
Cette propriété spécifie si COMBOBOX trie les entrées existantes et ajoute de nouvelles entrées à la
position triée appropriée dans la liste.Vous pouvez utiliser cette propriété pour trier automatiquement
les éléments dans un COMBOBOX.Au fur et à mesure que les éléments sont ajoutés à un COMBOBOX trié,
ils sont déplacés vers l'emplacement approprié dans la liste triée.Si vous affectez à la propriété la
valeur false, les nouveaux éléments sont ajoutés à la fin de la liste existante.Le tri respecte la casse et
est effectué dans l'ordre alphabétique croissant.
2.1.3.1.1.1.4 LA PROPRIÉTÉ TEXT
Obtient ou définit le texte associé à ce contrôle.
2.1.3.1.1.1.5 LA CLASSE FONT
Définit un format spécifique pour le texte, notamment la police, la taille et les attributs de style.
2.1.4 LES CONTRÔLES GROUPBOX ET RADIOBUTTON
2.1.4.1.1.1 GROUPBOX
GROUPBOX affiche un frame autour d'un groupe de contrôles avec ou sans légende. Utilisez une classe
GROUPBOX pour regrouper d'un point de vue logique une collection de contrôles dans un formulaire. La
zone de groupe désigne un contrôle conteneur permettant de définir des groupes de contrôles.
Une zone de groupe assure généralement le regroupement logique de contrôles RADIOBUTTON.En
présence de deux zones de groupe, chacune comportant plusieurs cases d'option, chaque groupe de
boutons s'exclut mutuellement en définissant une seule valeur d'option par groupe.
2.1.4.1.1.2 RADIOBUTTON
Permet à l'utilisateur de sélectionner une option unique à partir d'un groupe de choix en association
avec d'autres contrôles RADIOBUTTON.
2.1.4.1.1.2.1 LA PROPRIÉTÉ CHECKED D' UN CONTRÔLE RADIOBUTTON
Utilisez la propriété CHECKED pour obtenir ou définir l'état d'un RADIOBUTTON. L'apparence de la case
d'option peut être modifiée pour devenir un bouton bascule ou une case d'option standard en
définissant la propriété APPEARANCE.
2.1.5 LE CONTRÔLE TIMER
12. Implémente une minuterie déclenchant un événement selon un intervalle défini par l'utilisateur.
L'utilisation de cette minuterie a été optimisée pour les applications WINDOWS FORMS et doit avoir lieu
dans une fenêtre.
2.1.5.1.1.1 LA PROPRIÉTÉ INTERVAL
Obtient ou définit l'heure, en millisecondes, avant le déclenchement de l'événement TICK par rapport à
la dernière occurrence de l'événement TICK.
2.1.5.1.1.2 L'ÉVÉNEMENT TICK
Se produit lorsque l'intervalle spécifié est écoulé et que la minuterie est activée.
2.1.6 LES PROPRIÉTÉS WIDTH, HEIGHT, LEFT ET TOP D’UN CONTRÔLE
2.1.6.1.1.1.1 WIDTH
Obtient ou définit la largeur du contrôle.
2.1.6.1.1.1.2 HEIGHT
Obtient ou définit la hauteur du contrôle.
2.1.6.1.1.1.3 LEFT
Obtient ou définit la distance, in pixels, entre le bord gauche du contrôle et le bord gauche de la zone
cliente de son conteneur.
2.1.6.1.1.1.4 TOP
Obtient ou définit la distance, in pixels, entre le bord supérieur du contrôle et le bord supérieur de la
zone cliente de son conteneur.
2.1.7 LE CONTRÔLE CHECKBOX
Utilisez un CHECKBOX pour donner une option à l'utilisateur, telle que vrai/faux ou oui/non. Le contrôle
CHECKBOX peut afficher une image ou du texte ou les deux.
CHECKBOX et les contrôles RADIOBUTTON ont une fonction semblable : ils permettent à l'utilisateur de
sélectionner dans une liste d'options. Les contrôles CHECKBOX permettent à l'utilisateur de choisir une
combinaison d'options. Les contrôles RADIOBUTTON permettent par contre à l'utilisateur d'effectuer son
choix parmi des options s'excluant mutuellement.
2.1.8 LE CONTRÔLE TRACKBAR
TRACKBAR est un contrôle de défilement analogue au contrôle SCROLLBAR. Vous pouvez configurer des
plages que la valeur de la propriété VALUE d'une barre de suivi utilise pour le défilement en définissant
la propriété MINIMUM pour spécifier la limite inférieure de la plage et la propriété MAXIMUM pour
spécifier la limite supérieure de la plage.
13. 2.1.9 LE CONTROLE MENUSTRIP
Le contrôle MENUSTRIP représente le conteneur de la structure de menus d'un formulaire. Vous
pouvez ajouter des objets ToolStripMenuItem à MENUSTRIP qui représente les commandes de menu
individuelles dans la structure de menus. Chaque TOOLSTRIPMENUITEM peut être une commande de
votre application ou un menu parent pour des éléments de sous-menu.
MENUSTRIP est le conteneur des objets ToolStripMenuItem, ToolStripComboBox, ToolStripSeparator et
ToolStripTextBox.
Bien que MENUSTRIP remplace et ajoute des fonctionnalités au contrôle MainMenu des versions
antérieures, MAINMENU est conservé pour la compatibilité descendante et l'utilisation future si tel est
votre choix.
2.1.10 L'INSTRUCTION INPUTBOX
Affiche une invite dans une boîte de dialogue, attend que l'utilisateur tape du texte ou clique sur un
bouton, puis retourne le contenu de la zone de texte sous la forme d'une chaîne.
2.1.10.1.1.1.1.1 LA NOTION DE FONCTION ET D'ARGUMENTS
Une fonction est une procédure qui retourne une valeur. Elle opère comme une fonction
mathématique, en acceptant des paramètres en entrée, à partir desquels la fonction calcule et retourne
un résultat.
Un paramètre s'appelle « Argument »
2.1.11 L'ÉVÉNEMENT LOAD D'UN FORMULAIRE
C’est un événement qui se produit avant le premier affichage d'un formulaire.
2.1.12 L'INSTRUCTION WITH
WITH...END permet d'appliquer une série d'instructions à l'objet spécifié, sans désigner à chaque fois
le nom de l'objet. Si le chemin d'accès de qualification à l'objet est long, l'utilisation de WITH...END
peut améliorer vos performances. Un bloc With permet également d'éviter les frappes répétées du
chemin d'accès de qualification et les erreurs de frappe d'un de ses éléments.
Par exemple, pour modifier plusieurs propriétés d'un seul objet, placez les instructions d'assignation de
propriétés dans WITH...END ; vous ne faites ainsi référence qu'une seule fois à l'objet, au lieu de le
faire à chaque assignation de propriété.
2.1.13 ÉTABLIR LE DIALOGUE ENTRE DEUX FORMULAIRES
Un contrôle situé dans un formulaire ouvert se référence comme l'un de ses membres. On peut ainsi
facilement accéder aux membres de ce contrôle, à partir d'un autre formulaire, de la manière suivante:
NomFormulaire.NomControle.Membre