SlideShare une entreprise Scribd logo
1  sur  6
Télécharger pour lire hors ligne
LES COLLECTIONS – EXERCICE
EXPLOITER DES OBJETS DANS LA COLLECTION CONTROLS
SCÉNARIO
Dans les exercices à venir, vous allez utiliser du code pour manipuler des objets sur un
formulaire en utilisant la collection Controls. Votre projet possèdera trois objets boutons.
Vous allez créer des procédures événementielles qui modifient les propriétés Text de
chaque objet, déplacer des objets vers la droite et accorder un traitement spécial à un objet
du groupe. Le programme exploitera trois boucles For Each...Next pour manipuler les
objets chaque fois que l’utilisateur cliquera sur un des boutons.
UTILISER UNE BOUCLE FOR EACH...NEXT POUR MODIFIER DES PROPRIETES TEXT
1. Créez un nouveau projet Visual Basic Application Windows Forms intitulé Ma
Collection Controls.
2. Utilisez le contrôle Button pour dessiner trois objets bouton à gauche du formulaire
Form1, puis élargissez-les à environ 124 pixels, comme suit :
3. Utilisez la fenêtre Propriétés pour définir la propriété Name du troisième objet
bouton (Button3) à « btnMoveObjects ».
4. Dans le formulaire, double-cliquez sur le premier objet bouton (Button1). La
procédure événementielle Button1_Click s’affiche dans l’Éditeur de code.
5. Tapez les instructions suivantes :
For Each ctrl In Controls
ctrl.Text = "Cliquez sur moi !"
Next
Cette boucle For Each...Next parcourt la collection Controls contrôle par
contrôle et définit la propriété Text de chaque contrôle à « Cliquez sur moi ! ».
La boucle utilise ctrl comme variable d’objet dans la boucle, que vous déclarerez à
l’étape suivante.
6. Défilez vers le haut du code et tapez le commentaire et la déclaration de variable
suivante, juste en dessous de l’instruction Public Class Form1 :
'Déclare une variable de type Control pour représenter les contrôles
du formulaire
Dim ctrl As Control
Cette déclaration de variable globale crée une variable dans le type de la classe
Control qui représente les contrôles du formulaire en cours dans le programme. Vous
déclarez cette variable dans la zone des déclarations générales du formulaire afin
qu’elle soit valide dans toutes les procédures événementielles du formulaire.
Vous voilà prêt à exécuter le programme et à modifier la propriété Text de chaque
bouton du formulaire.
7. Dans la barre d’outils Standard, cliquez sur le bouton Démarrer le débogage.
8. Dans le formulaire, cliquez sur le premier bouton (Button1).
La procédure événementielle Button1_Click modifie la propriété Text de chaque
contrôle dans la collection Controls. Votre formulaire présente un résultat similaire
à:
9. Cliquez sur le bouton Fermer du formulaire. Le programme s’interrompt.
Remarque
Les changements apportés à la propriété Text par le programme n’ont pas été répliqués dans le
formulaire au niveau du Concepteur. Les changements effectués à l’exécution n’affectent pas les
principaux paramètres de propriété du programme.
10. Dans la barre d’outils Standard, cliquez sur le bouton Enregistrer tout pour
enregistrer vos changements. Désignez un dossier de votre choix comme emplacement.
Vous voilà prêt à tester différemment la collection Controls. Vous allez utiliser la propriété
Left pour déplacer chaque contrôle de la collection Controls vers la droite.
UTILISER UNE BOUCLE FOR EACH...NEXT POUR DEPLACER DES CONTROLES
1. Affichez le formulaire, puis double-cliquez sur le deuxième objet bouton (Button2).
2. Tapez le code suivant dans la procédure événementielle Button2_Click :
For Each ctrl In Controls
ctrl.Left = ctrl.Left + 25
Next
Chaque fois que l’utilisateur clique sur le deuxième bouton, cette boucle For
Each...Next parcourt les objets de la collection Controls un à un et les déplace de
25 pixels vers la droite (pour déplacer des objets de 25 pixels vers la gauche, il suffit
de soustraire 25). Un pixel est une unité de mesure indépendante de tout
périphérique qui permet de positionner avec précision des objets sur un formulaire.
Astuce
Dans Visual Basic 6, on utilise normalement des twips et non des pixels comme unité de
mesure. Un twip est une unité typographique équivalente à un vingtième de point.
Comme dans la précédente procédure événementielle, la variable ctrl est une «
doublure » de l’objet en cours dans la collection, qui contient les mêmes paramètres
de propriété que l’objet qu’elle représente. Dans cette boucle, vous réglez la
propriété Left, qui détermine l’emplacement d’un objet par rapport au côté gauche
du formulaire.
3. Cliquez sur le bouton Démarrer le débogage. Le programme s’exécute et les trois
boutons s’affichent à gauche du formulaire.
4. Cliquez sur le deuxième bouton à plusieurs reprises.
Chaque fois que vous cliquez sur le bouton, les objets du formulaire se déplacent
progressivement vers la droite. Voici à quoi ressemble votre écran après cinq clics :
5. Cliquez sur le bouton Fermer du formulaire pour arrêter le programme.
6. Cliquez sur le bouton Enregistrer tout pour enregistrer vos changements.
Il ne sera pas toujours indiqué de déplacer tous les objets d’un formulaire comme un
groupe. Avec Visual Basic, vous pouvez traiter individuellement les membres d’une
collection. Dans le prochain exercice, vous allez voir comment maintenir le troisième
objet bouton à sa place tout en déplaçant les deux autres boutons vers la droite.
EXPLOITER LA PROPRIETE NAME DANS UNE BOUCLE FOR EACH...NEXT
Pour traiter différemment un ou plusieurs membres d’une collection, utilisez la propriété
Name, qui identifie de manière unique chaque objet du formulaire. On peut également
l’utiliser par programmation pour identifier des objets spécifiques dans un programme.
Pour ce faire, choisissez les objets qui subiront un traitement spécial, puis notez leurs
propriétés Name. Lorsque par la suite, vous parcourrez les objets du formulaire en utilisant
une boucle For Each...Next, utilisez une ou plusieurs instructions If pour tester les
propriétés Name importantes et gérer ces objets différemment. Par exemple, supposons que
vous souhaitiez construire une boucle For Each...Next qui déplace un objet plus
lentement sur le formulaire que les autres objets. Utilisez une instruction If…Then pour
repérer la propriété Name de l’objet le plus lent, puis déplacez cet objet d’une distance plus
courte en incrémentant moins sa propriété Left que pour les autres objets.
Astuce
Pour accorder à plusieurs objets un traitement spécial dans une boucle For Each...Next, utilisez
des instructions ElseIf avec l’instruction If…Then ou servez-vous d’une structure de décision
Select Case.
Dans l’exercice suivant, vous allez tester la propriété Name du troisième objet bouton
(btnMoveObjects) pour accorder un traitement spécial à ce bouton dans une boucle For
Each...Next. Il en résultera une procédure événementielle qui déplacera les deux boutons
supérieurs vers la droite et maintiendra le bouton du bas à un emplacement fixe.
Astuce
Outre la propriété Name, la plupart des objets prennent en charge la propriété Tag. Au même titre
que la propriété Name, il s’agit d’un emplacement dans lequel vous pouvez stocker des données
chaîne à propos de l’objet. Par défaut, la propriété Tag est vide mais vous pouvez lui assigner des
informations et la tester pour identifier de manière unique les objets de votre programme que vous
souhaitez traiter différemment.
UTILISER LA PROPRIETE NAME POUR TRAITER UN OBJET DE LA COLLECTION CONTROLS
1. Affichez le formulaire et double-cliquez sur le troisième objet bouton.
La procédure événementielle btnMoveObjects_Click s’affiche dans l’Éditeur de
code. Souvenez-vous que, dans l’exercice précédent, vous avez modifié la propriété
Name de cet objet en remplaçant « Button1 » par « btnMoveObjects ».
2. Tapez le code suivant dans la procédure événementielle :
For Each ctrl In Controls
If ctrl.Name <> "btnMoveObjects" Then
ctrl.Left = ctrl.Left + 25
End If
Next
La nouvelle fonctionnalité de cette boucle For Each...Next est l’instruction
If…Then, qui vérifie si chaque membre de la collection possède une propriété Name
appelée « btnMoveObjects ». Si la boucle rencontre ce marqueur, elle passe l’objet
sans le déplacer. Notez que, comme dans les exemples précédents, la variable ctrl a
été déclarée en haut du formulaire en tant que variable de type Control avec une
portée sur l’ensemble du formulaire.
3. Cliquez sur le bouton Enregistrer tout pour enregistrer vos changements.
4. Cliquez sur le bouton Démarrer le débogage.
Le programme s’exécute et les trois objets bouton s’affichent sur le formulaire.
5. Cliquez trois ou quatre fois sur le troisième objet bouton.
Au fur et à mesure que vous cliquez, les deux objets du haut se déplacent sur l’écran.
Toutefois, le troisième bouton conserve sa place, comme ci-après :
6. Cliquez sur le bouton Fermer du formulaire pour arrêter le programme.
Il peut s’avérer très utile d’accorder un traitement spécial à un objet d’une collection. Dans
ce cas, l’utilisation de la propriété Name dans la boucle For Each...Next a amélioré la
lisibilité du code, et suggère de nombreuses applications potentielles pour un programme de
jeu ou de traitement graphique. Lorsque vous utiliserez d’autres types de collections dans
Visual Basic, gardez bien à l’esprit cette propriété.

Contenu connexe

Similaire à 06 visual basic .net - exercice sur les collections

Formation C# - Cours 4
Formation C# - Cours 4Formation C# - Cours 4
Formation C# - Cours 4kemenaran
 
PowerPoint 2010 Formation, Les Bases, L interface
PowerPoint 2010  Formation, Les Bases, L interface PowerPoint 2010  Formation, Les Bases, L interface
PowerPoint 2010 Formation, Les Bases, L interface dio dd
 
Convertisseur Pouce en cm et cm en pixel
Convertisseur  Pouce en cm et  cm en pixelConvertisseur  Pouce en cm et  cm en pixel
Convertisseur Pouce en cm et cm en pixelAdad Med Chérif
 
Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Farouk Mezghich
 
Windows Phone Workshop: Navigation and parameters
Windows Phone Workshop: Navigation and parameters Windows Phone Workshop: Navigation and parameters
Windows Phone Workshop: Navigation and parameters Zayen Chagra
 
Cours2 structure
Cours2 structureCours2 structure
Cours2 structuredutruch
 
Cours2 structure
Cours2 structureCours2 structure
Cours2 structuredutruch
 
Cour sqlserver
Cour sqlserverCour sqlserver
Cour sqlservergenerhone
 
Green System University - Development JDEdwards (French Version) - Tome3
Green System University - Development JDEdwards (French Version) - Tome3Green System University - Development JDEdwards (French Version) - Tome3
Green System University - Development JDEdwards (French Version) - Tome3Minh-Tri Nguyen
 
Theme 7 (suite)
Theme 7 (suite)Theme 7 (suite)
Theme 7 (suite)salmazen
 

Similaire à 06 visual basic .net - exercice sur les collections (16)

cour-DOM-Partie6.pdf
cour-DOM-Partie6.pdfcour-DOM-Partie6.pdf
cour-DOM-Partie6.pdf
 
Les Widgets
Les WidgetsLes Widgets
Les Widgets
 
Formation C# - Cours 4
Formation C# - Cours 4Formation C# - Cours 4
Formation C# - Cours 4
 
PowerPoint 2010 Formation, Les Bases, L interface
PowerPoint 2010  Formation, Les Bases, L interface PowerPoint 2010  Formation, Les Bases, L interface
PowerPoint 2010 Formation, Les Bases, L interface
 
5.ateliers avancés
5.ateliers avancés5.ateliers avancés
5.ateliers avancés
 
Convertisseur Pouce en cm et cm en pixel
Convertisseur  Pouce en cm et  cm en pixelConvertisseur  Pouce en cm et  cm en pixel
Convertisseur Pouce en cm et cm en pixel
 
Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)Formation iPhone ENSI by (Orange Tunisie)
Formation iPhone ENSI by (Orange Tunisie)
 
Windows Phone Workshop: Navigation and parameters
Windows Phone Workshop: Navigation and parameters Windows Phone Workshop: Navigation and parameters
Windows Phone Workshop: Navigation and parameters
 
Cours2 structure
Cours2 structureCours2 structure
Cours2 structure
 
Cours2 structure
Cours2 structureCours2 structure
Cours2 structure
 
Cour sqlserver
Cour sqlserverCour sqlserver
Cour sqlserver
 
Gantt
GanttGantt
Gantt
 
Green System University - Development JDEdwards (French Version) - Tome3
Green System University - Development JDEdwards (French Version) - Tome3Green System University - Development JDEdwards (French Version) - Tome3
Green System University - Development JDEdwards (French Version) - Tome3
 
Action script 2
Action script 2 Action script 2
Action script 2
 
Theme 7 (suite)
Theme 7 (suite)Theme 7 (suite)
Theme 7 (suite)
 
TP_1.pdf
TP_1.pdfTP_1.pdf
TP_1.pdf
 

Plus de Hamza SAID

11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .netHamza SAID
 
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...Hamza SAID
 
09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chainee09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chaineeHamza SAID
 
09 visual basic .net - exercice - heritage et interfaces - primes de risque
09 visual basic .net - exercice - heritage et interfaces - primes de risque09 visual basic .net - exercice - heritage et interfaces - primes de risque
09 visual basic .net - exercice - heritage et interfaces - primes de risqueHamza SAID
 
08 visual basic .net - debogage et gestion des exceptions
08 visual basic .net - debogage et gestion des exceptions08 visual basic .net - debogage et gestion des exceptions
08 visual basic .net - debogage et gestion des exceptionsHamza SAID
 
09 visual basic .net - exercice - geometrie
09 visual basic .net - exercice - geometrie09 visual basic .net - exercice - geometrie
09 visual basic .net - exercice - geometrieHamza SAID
 
07 visual basic .net - exercice - le programme quick note
07 visual basic .net - exercice - le programme quick note07 visual basic .net - exercice - le programme quick note
07 visual basic .net - exercice - le programme quick noteHamza SAID
 
07 visual basic .net - exercice - le programme anniversaire
07 visual basic .net - exercice - le programme anniversaire07 visual basic .net - exercice - le programme anniversaire
07 visual basic .net - exercice - le programme anniversaireHamza SAID
 
06 visual basic .net - les structures de donnees, les enumerations de constan...
06 visual basic .net - les structures de donnees, les enumerations de constan...06 visual basic .net - les structures de donnees, les enumerations de constan...
06 visual basic .net - les structures de donnees, les enumerations de constan...Hamza SAID
 
06 visual basic .net - exercice sur les tableaux
06 visual basic .net - exercice sur les tableaux06 visual basic .net - exercice sur les tableaux
06 visual basic .net - exercice sur les tableauxHamza SAID
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...Hamza SAID
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...Hamza SAID
 
04 visual basic .net - les controles standard - exercice
04 visual basic .net - les controles standard - exercice04 visual basic .net - les controles standard - exercice
04 visual basic .net - les controles standard - exerciceHamza SAID
 
04 visual basic .net - exploitation des nouveaux controles windows forms et r...
04 visual basic .net - exploitation des nouveaux controles windows forms et r...04 visual basic .net - exploitation des nouveaux controles windows forms et r...
04 visual basic .net - exploitation des nouveaux controles windows forms et r...Hamza SAID
 
03 visual basic .net - notions de base
03 visual basic .net - notions de base03 visual basic .net - notions de base
03 visual basic .net - notions de baseHamza SAID
 
02 visual basic .net - introduction a vb .net
02 visual basic .net - introduction a vb .net02 visual basic .net - introduction a vb .net
02 visual basic .net - introduction a vb .netHamza SAID
 
01 visual basic .net - presentation du cours
01 visual basic .net - presentation du cours01 visual basic .net - presentation du cours
01 visual basic .net - presentation du coursHamza SAID
 

Plus de Hamza SAID (17)

11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
 
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
 
09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chainee09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - liste chainee
 
09 visual basic .net - exercice - heritage et interfaces - primes de risque
09 visual basic .net - exercice - heritage et interfaces - primes de risque09 visual basic .net - exercice - heritage et interfaces - primes de risque
09 visual basic .net - exercice - heritage et interfaces - primes de risque
 
08 visual basic .net - debogage et gestion des exceptions
08 visual basic .net - debogage et gestion des exceptions08 visual basic .net - debogage et gestion des exceptions
08 visual basic .net - debogage et gestion des exceptions
 
09 visual basic .net - exercice - geometrie
09 visual basic .net - exercice - geometrie09 visual basic .net - exercice - geometrie
09 visual basic .net - exercice - geometrie
 
07 visual basic .net - exercice - le programme quick note
07 visual basic .net - exercice - le programme quick note07 visual basic .net - exercice - le programme quick note
07 visual basic .net - exercice - le programme quick note
 
07 visual basic .net - exercice - le programme anniversaire
07 visual basic .net - exercice - le programme anniversaire07 visual basic .net - exercice - le programme anniversaire
07 visual basic .net - exercice - le programme anniversaire
 
06 visual basic .net - les structures de donnees, les enumerations de constan...
06 visual basic .net - les structures de donnees, les enumerations de constan...06 visual basic .net - les structures de donnees, les enumerations de constan...
06 visual basic .net - les structures de donnees, les enumerations de constan...
 
06 visual basic .net - exercice sur les tableaux
06 visual basic .net - exercice sur les tableaux06 visual basic .net - exercice sur les tableaux
06 visual basic .net - exercice sur les tableaux
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...
 
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...
 
04 visual basic .net - les controles standard - exercice
04 visual basic .net - les controles standard - exercice04 visual basic .net - les controles standard - exercice
04 visual basic .net - les controles standard - exercice
 
04 visual basic .net - exploitation des nouveaux controles windows forms et r...
04 visual basic .net - exploitation des nouveaux controles windows forms et r...04 visual basic .net - exploitation des nouveaux controles windows forms et r...
04 visual basic .net - exploitation des nouveaux controles windows forms et r...
 
03 visual basic .net - notions de base
03 visual basic .net - notions de base03 visual basic .net - notions de base
03 visual basic .net - notions de base
 
02 visual basic .net - introduction a vb .net
02 visual basic .net - introduction a vb .net02 visual basic .net - introduction a vb .net
02 visual basic .net - introduction a vb .net
 
01 visual basic .net - presentation du cours
01 visual basic .net - presentation du cours01 visual basic .net - presentation du cours
01 visual basic .net - presentation du cours
 

Dernier

Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 

Dernier (14)

Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 

06 visual basic .net - exercice sur les collections

  • 1. LES COLLECTIONS – EXERCICE EXPLOITER DES OBJETS DANS LA COLLECTION CONTROLS SCÉNARIO Dans les exercices à venir, vous allez utiliser du code pour manipuler des objets sur un formulaire en utilisant la collection Controls. Votre projet possèdera trois objets boutons. Vous allez créer des procédures événementielles qui modifient les propriétés Text de chaque objet, déplacer des objets vers la droite et accorder un traitement spécial à un objet du groupe. Le programme exploitera trois boucles For Each...Next pour manipuler les objets chaque fois que l’utilisateur cliquera sur un des boutons. UTILISER UNE BOUCLE FOR EACH...NEXT POUR MODIFIER DES PROPRIETES TEXT 1. Créez un nouveau projet Visual Basic Application Windows Forms intitulé Ma Collection Controls. 2. Utilisez le contrôle Button pour dessiner trois objets bouton à gauche du formulaire Form1, puis élargissez-les à environ 124 pixels, comme suit : 3. Utilisez la fenêtre Propriétés pour définir la propriété Name du troisième objet bouton (Button3) à « btnMoveObjects ». 4. Dans le formulaire, double-cliquez sur le premier objet bouton (Button1). La procédure événementielle Button1_Click s’affiche dans l’Éditeur de code.
  • 2. 5. Tapez les instructions suivantes : For Each ctrl In Controls ctrl.Text = "Cliquez sur moi !" Next Cette boucle For Each...Next parcourt la collection Controls contrôle par contrôle et définit la propriété Text de chaque contrôle à « Cliquez sur moi ! ». La boucle utilise ctrl comme variable d’objet dans la boucle, que vous déclarerez à l’étape suivante. 6. Défilez vers le haut du code et tapez le commentaire et la déclaration de variable suivante, juste en dessous de l’instruction Public Class Form1 : 'Déclare une variable de type Control pour représenter les contrôles du formulaire Dim ctrl As Control Cette déclaration de variable globale crée une variable dans le type de la classe Control qui représente les contrôles du formulaire en cours dans le programme. Vous déclarez cette variable dans la zone des déclarations générales du formulaire afin qu’elle soit valide dans toutes les procédures événementielles du formulaire. Vous voilà prêt à exécuter le programme et à modifier la propriété Text de chaque bouton du formulaire. 7. Dans la barre d’outils Standard, cliquez sur le bouton Démarrer le débogage. 8. Dans le formulaire, cliquez sur le premier bouton (Button1). La procédure événementielle Button1_Click modifie la propriété Text de chaque contrôle dans la collection Controls. Votre formulaire présente un résultat similaire à:
  • 3. 9. Cliquez sur le bouton Fermer du formulaire. Le programme s’interrompt. Remarque Les changements apportés à la propriété Text par le programme n’ont pas été répliqués dans le formulaire au niveau du Concepteur. Les changements effectués à l’exécution n’affectent pas les principaux paramètres de propriété du programme. 10. Dans la barre d’outils Standard, cliquez sur le bouton Enregistrer tout pour enregistrer vos changements. Désignez un dossier de votre choix comme emplacement. Vous voilà prêt à tester différemment la collection Controls. Vous allez utiliser la propriété Left pour déplacer chaque contrôle de la collection Controls vers la droite. UTILISER UNE BOUCLE FOR EACH...NEXT POUR DEPLACER DES CONTROLES 1. Affichez le formulaire, puis double-cliquez sur le deuxième objet bouton (Button2). 2. Tapez le code suivant dans la procédure événementielle Button2_Click : For Each ctrl In Controls ctrl.Left = ctrl.Left + 25 Next Chaque fois que l’utilisateur clique sur le deuxième bouton, cette boucle For Each...Next parcourt les objets de la collection Controls un à un et les déplace de 25 pixels vers la droite (pour déplacer des objets de 25 pixels vers la gauche, il suffit de soustraire 25). Un pixel est une unité de mesure indépendante de tout périphérique qui permet de positionner avec précision des objets sur un formulaire. Astuce Dans Visual Basic 6, on utilise normalement des twips et non des pixels comme unité de mesure. Un twip est une unité typographique équivalente à un vingtième de point. Comme dans la précédente procédure événementielle, la variable ctrl est une « doublure » de l’objet en cours dans la collection, qui contient les mêmes paramètres de propriété que l’objet qu’elle représente. Dans cette boucle, vous réglez la propriété Left, qui détermine l’emplacement d’un objet par rapport au côté gauche du formulaire. 3. Cliquez sur le bouton Démarrer le débogage. Le programme s’exécute et les trois boutons s’affichent à gauche du formulaire. 4. Cliquez sur le deuxième bouton à plusieurs reprises. Chaque fois que vous cliquez sur le bouton, les objets du formulaire se déplacent progressivement vers la droite. Voici à quoi ressemble votre écran après cinq clics :
  • 4. 5. Cliquez sur le bouton Fermer du formulaire pour arrêter le programme. 6. Cliquez sur le bouton Enregistrer tout pour enregistrer vos changements. Il ne sera pas toujours indiqué de déplacer tous les objets d’un formulaire comme un groupe. Avec Visual Basic, vous pouvez traiter individuellement les membres d’une collection. Dans le prochain exercice, vous allez voir comment maintenir le troisième objet bouton à sa place tout en déplaçant les deux autres boutons vers la droite. EXPLOITER LA PROPRIETE NAME DANS UNE BOUCLE FOR EACH...NEXT Pour traiter différemment un ou plusieurs membres d’une collection, utilisez la propriété Name, qui identifie de manière unique chaque objet du formulaire. On peut également l’utiliser par programmation pour identifier des objets spécifiques dans un programme. Pour ce faire, choisissez les objets qui subiront un traitement spécial, puis notez leurs propriétés Name. Lorsque par la suite, vous parcourrez les objets du formulaire en utilisant une boucle For Each...Next, utilisez une ou plusieurs instructions If pour tester les propriétés Name importantes et gérer ces objets différemment. Par exemple, supposons que vous souhaitiez construire une boucle For Each...Next qui déplace un objet plus lentement sur le formulaire que les autres objets. Utilisez une instruction If…Then pour repérer la propriété Name de l’objet le plus lent, puis déplacez cet objet d’une distance plus courte en incrémentant moins sa propriété Left que pour les autres objets. Astuce Pour accorder à plusieurs objets un traitement spécial dans une boucle For Each...Next, utilisez des instructions ElseIf avec l’instruction If…Then ou servez-vous d’une structure de décision Select Case. Dans l’exercice suivant, vous allez tester la propriété Name du troisième objet bouton (btnMoveObjects) pour accorder un traitement spécial à ce bouton dans une boucle For
  • 5. Each...Next. Il en résultera une procédure événementielle qui déplacera les deux boutons supérieurs vers la droite et maintiendra le bouton du bas à un emplacement fixe. Astuce Outre la propriété Name, la plupart des objets prennent en charge la propriété Tag. Au même titre que la propriété Name, il s’agit d’un emplacement dans lequel vous pouvez stocker des données chaîne à propos de l’objet. Par défaut, la propriété Tag est vide mais vous pouvez lui assigner des informations et la tester pour identifier de manière unique les objets de votre programme que vous souhaitez traiter différemment. UTILISER LA PROPRIETE NAME POUR TRAITER UN OBJET DE LA COLLECTION CONTROLS 1. Affichez le formulaire et double-cliquez sur le troisième objet bouton. La procédure événementielle btnMoveObjects_Click s’affiche dans l’Éditeur de code. Souvenez-vous que, dans l’exercice précédent, vous avez modifié la propriété Name de cet objet en remplaçant « Button1 » par « btnMoveObjects ». 2. Tapez le code suivant dans la procédure événementielle : For Each ctrl In Controls If ctrl.Name <> "btnMoveObjects" Then ctrl.Left = ctrl.Left + 25 End If Next La nouvelle fonctionnalité de cette boucle For Each...Next est l’instruction If…Then, qui vérifie si chaque membre de la collection possède une propriété Name appelée « btnMoveObjects ». Si la boucle rencontre ce marqueur, elle passe l’objet sans le déplacer. Notez que, comme dans les exemples précédents, la variable ctrl a été déclarée en haut du formulaire en tant que variable de type Control avec une portée sur l’ensemble du formulaire. 3. Cliquez sur le bouton Enregistrer tout pour enregistrer vos changements. 4. Cliquez sur le bouton Démarrer le débogage. Le programme s’exécute et les trois objets bouton s’affichent sur le formulaire. 5. Cliquez trois ou quatre fois sur le troisième objet bouton. Au fur et à mesure que vous cliquez, les deux objets du haut se déplacent sur l’écran. Toutefois, le troisième bouton conserve sa place, comme ci-après :
  • 6. 6. Cliquez sur le bouton Fermer du formulaire pour arrêter le programme. Il peut s’avérer très utile d’accorder un traitement spécial à un objet d’une collection. Dans ce cas, l’utilisation de la propriété Name dans la boucle For Each...Next a amélioré la lisibilité du code, et suggère de nombreuses applications potentielles pour un programme de jeu ou de traitement graphique. Lorsque vous utiliserez d’autres types de collections dans Visual Basic, gardez bien à l’esprit cette propriété.