Vous êtes sur la page 1sur 53

VB.

NET
Ateliers Windows
Forms

Ateliers Windows Forms


Sommaire
1.

LABEL, TEXTBOX ET BUTTON..............................................................................................................3


1.1.
1.2.
1.3.

2.

CASES COCHER ET BOUTONS RADIO.............................................................................................6


2.1.
2.2.
2.3.

3.

LA CROISIRE S'AMUSE.........................................................................................................................15
CONTRLES DE SAISIE..........................................................................................................................17
EVNEMENTS CLAVIER.........................................................................................................................19
SLECTION ET DITION DE TEXTE........................................................................................................20
SLECTION ET DITION DE TEXTE........................................................................................................22
SLECTION ET DITION DE TEXTE (VOLUTION)..................................................................................23
MTHODE NOMPROPRE........................................................................................................................24

FICHIERS TEXTE.....................................................................................................................................25
5.1.
5.2.
5.3.

6.

LISTBOX LES LISTES ET LEURS PROPRITS.......................................................................................9


LES DIFFRENTS TYPES DE LISTES.......................................................................................................10
LISTBOX - APPROFONDISSEMENT.........................................................................................................11
MANIPULATION DES LISTES..................................................................................................................12
LISTES ET TABLEAUX...........................................................................................................................13

SAISIE, SLECTION, EDITION.............................................................................................................15


4.1.
4.2.
4.3.
4.4.
4.5.
4.6.
4.7.

5.

CASES COCHER....................................................................................................................................6
CASE COCHER ET BOUTONS RADIO.....................................................................................................7
BOUTONS RADIO.....................................................................................................................................8

LISTES DIVERSES......................................................................................................................................9
3.1.
3.2.
3.3.
3.4.
3.5.

4.

CONCATNATION....................................................................................................................................3
ADDITION...............................................................................................................................................4
CALCULETTE..........................................................................................................................................5

BLOC-NOTE SIMPLIFI..........................................................................................................................25
POST-IT.................................................................................................................................................26
FICHIER SQUENTIEL............................................................................................................................27

ENRICHISSEMENT INTERFACE GRAPHIQUE.................................................................................30


6.1.
6.2.
6.3.
6.4.
6.5.
6.6.

BLOC-NOTE AMLIOR........................................................................................................................30
MENUS DROULANTS, BARRE D'OUTILS ET BARRE D'ETAT.................................................................33
MENUS DYNAMIQUES..........................................................................................................................34
MENUS CONTEXTUELS.........................................................................................................................36
BARRES DE DFILEMENT (HSCROLLBAR ET VSCROLLBAR)...............................................................38
CURSEURS (TRACKBAR)......................................................................................................................39

Ateliers Windows Forms

1. Label, TextBox et Button


1.1. Concatnation
Objectif
Savoir mettre en oeuvre quelques contrles lmentaires, boutons, zones de texte et tiquettes.
Le but du traitement consiste raliser une application permettant de faire la concatnation
(l'addition) de 2 zones.
Lapplication ne comporte quun seul Form reprsent ci- dessous :

Rsultat attendu

Une fois le texte saisi dans les zones 'Zone 1' et 'Zone 2' la concatnation s'effectue
automatiquement dans la zone 'Rsultat' en cliquant sur le bouton du mme 'Ok'.

Le bouton 'Remise blanc' efface les trois zones.


Cliquer sur "Ok" provoque l'excution du calcul et l'affichage du rsultat.

Aucune saisie ne doit pouvoir tre faite dans la zone rsultat (Utiliser un contrle de type
Label ou TextBox en lecture seule).

Conseils
D'abord, dessiner l'interface sans se proccuper du code. Dfinir les proprits de chacun des
contrles, position, taille, enrichissements.
Enfin, rdiger le code dclench par un Click sur les boutons 'Ok' et 'Remise Blanc'.
Ajoutez des commentaires (texte prcd de // ou entre /* et */). Les commentaires ne
ralentissent en rien l'excution du programme (ils ne sont pas compils) et sont des plus utiles
lors de modifications ultrieures

Elments utiles
Classe
Tous contrles
Tous contrles
Tous contrles

Type
P
P
E

Membre
Text
TextAlign
Click

Description
Texte affich
Alignement du texte (gauche, droite)
Evnement Click effectu avec la souris

Ateliers Windows Forms

1.2. Addition
Objectif
Raliser une application permettant d'additionner 2 chiffres.
Lapplication ne comporte quun seul cran dcrit ci- dessous :

Rsultat attendu

Traitement effectu:
Au fur et mesure o les chiffres sont saisis dans les zones 'Nombre 1' et 'Nombre 2' le calcul
s'effectue automatiquement dans la zone 'Somme'.

Le bouton 'Remise blanc' efface les trois zones et place le point d'insertion dans la
zone 'Nombre 1'
Cliquer sur "Quitter" qui provoque l'arrt du programme avec affichage pralable du
message suivant:

Elments utiles
Classe
Control
Control
Control
TextBox
double

Type
P
P
E
E
M

Membre
Text
TextAlign
Click
TextChanged
Parse

Description
Texte affich
Alignement du texte (gauche, droite)
Evnement Click effectu avec la souris
Evnement Proprit Text modifie
Convertit la reprsentation sous forme de
chane d'un nombre en nombre en virgule
flottante double prcision quivalent.

Si vous avez du temps


Si vous cliquez sur la case de fermeture
et non sur le bouton quitter, le message 'Au revoir'
ne s'affiche pas. Faites en sorte de rsoudre ce problme.

Ateliers Windows Forms

1.3. Calculette
Objectif
Savoir crer une application et mettre en uvre quelques contrles lmentaires, boutons,
zones de texte et label, zone de groupe ou cadre, boutons d'option.

But du traitement
Partant de l'exemple Addition, nous allons raliser une calculette.

Rsultat attendu

Traitement effectu
Aprs avoir entr un nombre dans les zones de texte libelles 'Nombre1' et 'Nombre2' et
slectionn une des options du cadre 'Oprations', on peut :

Cliquer sur 'Ok' dclenche le calcul et l'affichage du rsultat.


Le bouton 'Remise blanc' remet les trois zones zro et place le point d'insertion
dans la zone 'Nombre 1'

Tant que le premier nombre n'est pas saisi et qu'aucune option n'est slectionne, le bouton
"Ok" doit tre inoprant. Ds qu'un calcul devient possible, rendre le bouton utilisable.
Ds qu'une option est choisie, le signe de l'opration (+, -, *, /, V) doit apparatre dans
l'intervalle situ entre les deux nombres.
Aucune saisie ne doit tre faite dans la zone rsultat. Afin d'viter de nombreuses erreurs
d'excution, faites en sorte que les 2 TextBox ne permettent de n'entrer que des chiffres.

Elments utiles
Classe
Control
TextBox
TextBox
Math

Type
P
E
E
M

Membre
Enabled
KeyPress
LostFocus
Sqrt

Description
Indique si un contrle est activ
Se produit lorsqu'un caractre est tap
Se produit lorsque le contrle perd le focus.
Retourne la racine carre d'un nombre spcifi

Ateliers Windows Forms

2. Cases cocher et Boutons radio


2.1. Cases cocher
Le contrle CheckBox Windows Forms indique si une condition est active ou inactive. Il est
couramment utilis pour prsenter l'utilisateur des alternatives de type Oui/Non ou
Vrai/Faux. Vous pouvez utiliser les contrles CheckBox en groupes pour afficher plusieurs
options parmi lesquelles l'utilisateur peut en slectionner une ou plusieurs.

Rsultat attendu

Traitement effectu
L'utilisateur compose son menu en cochant les diffrents plats proposs. Il valide son choix en
cliquant sur le bouton 'Ok'. Les options choisies s'affichent alors dans le contrle Label sur le
ct droit.
Le bouton rinitialise tous les contrles (Cases coches dcoches et Label rcapitulatif
vide.
Le bouton 'Fermer' met fin l'application.
L'utilisateur pourra utiliser le clavier la place des boutons 'Ok' et 'Fermer'. La touche Entre
activera le bouton 'Ok' et la touche 'Echap' le bouton 'Fermer'.

Elments utiles
Classe
CheckBox
Control

Type
P
P

Membre
Checked
Controls

Form
Form

P
P

AcceptButton
CancelButton

Description
true/false indique si une case est coche ou pas
Obtient la collection de contrles contenus dans le
contrle.
Bouton d'acceptation du formulaire (Entre).
Bouton d'annulation du formulaire (Echap).

Si vous avez du temps


Faites en sorte que le menu rcapitulatif (Label de droite) soit mis jour au fur et mesure
que l'utilisateur slectionne ou dslectionne les plats.

Ateliers Windows Forms

2.2. Case cocher et Boutons radio


Objectif
Savoir grer des cases cocher et un groupe de boutons radios.
Proposer l'utilisateur une boite de dialogue 'gomtrie variable'.

Rsultat attendu
Dans un premier temps, la boite se prsente de la faon suivante:

Une fois la premire case slectionne, la boite doit prendre cet aspect:

Traitement effectu
Lcran dans sa forme initiale permet de cocher "Afficher les couleurs" ce qui dclenche
l'extension de la fentre et l'affichage du groupe d'options "Couleur" contenant les boutons et
jusque l non visible. Un second click remet la boite dans son tat initial.
L'cran dans sa forme tendue permet de slectionner un des boutons couleur. La couleur
slectionne doit s'appliquer au fond de la feuille.

Elments utiles
Elment
CheckBox

Type
P

Membre
Checked

Control
Control
System.Drawing

P
P
S

Height
BackColor
Color

Color

FromArgb

CheckBox et
RadioButton

CheckedChanged

Description
true/false indique si une case est coche ou
pas
Hauteur du contrle
Couleur de fond
Structure donnant accs un grand nombre
de membre nomms de type Color.
Exemples : Color. AliceBlue, Color.Red,
Color.Gold
Cre une structure Color partir des valeurs
des quatre composants ARVB 8 bits (alpha,
rouge, vert et bleu).
Se produit lorsque la proprit checked
change de valeur.

Ateliers Windows Forms

2.3. Boutons radio


Objectif
Savoir utiliser les boutons d'option, en traitement individuel ou en groupe.

Rsultat attendu

Traitement effectu
L'cran comporte deux contrles de type GroupBox, 'Mon choix 1' et 'Mon choix 2'
contenant des boutons radio.
Faites en sorte que chacun des boutons radio de gauche disposent de son propre gestionnaire
d'vnement et que les 3 boutons radio de droite partagent le mme gestionnaire
d'vnement.
Les choix raliss par l'utilisateur ne devront s'afficher dans les deux contrles de type Label
aprs avoir cliqu sur le bouton 'Options slectionnes'.

Elments utiles
Elment
Control
Control

Type
P
P

Membre
Visible
Tag

Description
true/false, le contrle est affich ou pas
de type object, permet d'associer des
donnes au contrle

Il existe en fait de multiples manires de traiter ce genre de situation. Faites preuve


d'imagination. Ayez toujours comme objectif, l'efficacit et la concision de votre code.
N'oubliez pas de commenter

Ateliers Windows Forms

3. Listes diverses
3.1. ListBox Les listes et leurs proprits
Objectif
Le but de cet atelier est de dcouvrir les fonctionnalits de bases communes aux diffrentes
listes proposes dans le Framework.NET. L'exemple porte sur un contrle de type ListBox.

Rsultat attendu

Traitement effectu
En slectionnant un lment dans la listes les 3 proprit (Items.Count, SelectedIndex et
Text) sont automatiquement mises jour.

Elments utiles
Classe
ListBox
Items
Items
ListBox
ListBox
ListBox
ListBox

Type
P
M
P
P
P
P
E

Membre
Items
Add
Count
SelectedIndex
SelectedItem
Text
SelectedIndexChanged

Description
Collection des lments de la liste
Ajoute un lment la collection Items
Nombre d'lments dans la collection
Index de l'lment slectionn ( partir de 0)
Elment slectionn
Texte correspondant l'lment slectionn
Lors de la slection d'un lment

Si vous avez du temps


Essayer de dcouvrir d'autres membres intressants de la classe ListBox susceptibles d'tre
utiliss selon vos besoins.

Ateliers Windows Forms

3.2. Les diffrents types de Listes


Objectif
Mettre en uvre les diffrents types de listes notre disposition : ListBox, checkedListBox
et comboBox.
Au chargement du formulaire, remplir les diffrentes liste :
ListBox :
Janvier, Fvrier, Mars, Avril.
checkedListBox :
Mai, Juin, Juillet, Aot.
comboBox :
Septembre, Octobre,Novembre, Dcembre.
La case cocher Slection Multiple permet selon son tat de slectionner un ou plusieurs
lments dans la ListBox.
Une tiquette indique en permanence le nombre dlments cochs dans la checkedListBox.
Une dernire tiquette rcapitule les mois slectionns (cochs pour la checkedListBox) dans
les trois listes. Cette information se met jour en temps rel ds que lutilisateur modifie la
slection dune des trois listes.

Rsultat attendu

Elments utiles
Classe
Tous contrles
Tous contrles
Toutes Listes
Toutes Listes
Toutes Liste
ListBox
ListBox
checkedListBox

Type
E
E
E
M
P
P
P
P

Membre
KeyUp
MouseUp
SelectedIndexChanged
Add
SelectedItem
SelectionMode
SelectedItems
CheckedItems

Description
Touche relche
Souris relche
Slection modifie
Ajout dlments
Elments slectionn
Slection Unique, Multiple, Etendue
Collection des lments slectionns
Collection des lments cochs

Ateliers Windows Forms

3.3. ListBox - Approfondissement


Objectif
Etre en mesure de raliser les oprations principales concernant les contrle de type ListBox.

Rsultat attendu

Traitement effectu
Lors du lancement de l'application, la liste 'LstListe' est vide. Le peuplement de la liste
s'effectue en saisissants des valeurs dans la zone 'Nouvel Elmnt' puis en pressant le bouton
'Ajout Liste'. Une fois un nouvel lment ajout, le focus se repositionne sur 'Nouvel Elment'
qui est remise blanc.
Lorsque l'utilisateur slectionne un lment, les proprits affectes s'affichent droite.
Il est galement possible de slectionner un lment en saisissant son N dans la zone 'Index
Elment' et en pressant le bouton 'Slectionner'.
Enfin, le bouton 'Vider la liste' comme son nom le laisse supposer remet la liste blanc.

Elments utiles
Classe
ListBox
Items
Control
int

Type
P
P
M
M

Membre
SelectedIndex
Count
Focus
Parse

Description
Index de l'lment slectionn ( partir de 0)
Nombre d'lment dans la collection
Place le curseur (caret) sur le contrle
Convertit la chane d'un nombre en nombre entier

Si vous avez du temps


Faites en sorte qu'un utilisateur maladroit ne puisse pas provoquer une erreur d'excution de
votre application. Exemple : s'il saisit un N d'lment qui n'existe pas ou sous forme de texte.
Assurez-vous galement qu'une valeur ne puisse pas tre ajoute deux fois dans la liste.

Ateliers Windows Forms

3.4. Manipulation des Listes


Objectif
Approfondissement des Listes
Crer une application permettant le dplacement d'lments d'une liste dans une autre, ainsi
que le tri de chacune des listes lment par lment.
En option, faire le tri de chacune des listes en ordre croissant et dcroissant en une seule fois.

Rsultat attendu

Traitement effectu
La liste de gauche s'alimente au chargement de la feuille. La liste de droite est vide au dpart
et est alimente par les deux boutons '>' et '>>'.
Rle des diffrents boutons :
>
Dplace l'lment slectionn de la liste de gauche celle de droite,
<
Dplace l'lment slectionn de la liste de droite celle de gauche,
>>
Dplace la totalit de la liste de gauche vers celle de droite,
<<
Dplace la totalit de la liste de droite vers celle de gauche,

Dplace l'lment slectionn d'une ligne vers le haut (Tri Manuel),

Dplace l'lment slectionn d'une ligne vers le bas.


En option :
A-Z Trie la liste correspondante par ordre alphabtique,
Z-A Trie la liste correspondante par ordre inverse,
Faites en sorte que les diffrents boutons ne soient accessibles qu' bon escient. Exemple Si
l'utilisateur slectionne le premier lment d'une liste, le bouton devra tre dsactiv, de
mme s'il slectionne le dernier lment d'une liste, le bouton sera dsactiv.

Ateliers Windows Forms

Elments utiles
Classe
ListBox
ListBox
ListBox
ListBox
ListBox

Type
M
M
M
M
M

Membre
Items.Add
Items.Remove
Items.Clear
Items.Insert
Items.AddRange

Description
Ajoute un lment la ListBox
Supprime l'lment spcifi
Efface tous les lments de la liste
Insre un lment une position donne
Ajoute une collection d'lments une liste

Conseils
Avant de vous lancer dans la programmation des diffrents tris, n'hsitez pas raliser un
algorithme papier / crayon et le 'faire tourner sur papier' partir d'un jeux d'essai.
Bon Tri

3.5. Listes et Tableaux


Objectif
Comprendre l'utilisation d'un tableau deux dimensions.
Utiliser des indices pour retrouver une information dans un tableau.

Rsultat attendu

Traitement effectu
Permettre un utilisateur de choisir un article dans une couleur donne.
Une fois la slection effectue, l'application recherche dans un tableau pralablement
constitu en mmoire le tarif correspondant.
On constitue en mmoire un tableau de noms et de matricules.
Pour simplifier, ce tableau est initialis au chargement de l'application.
(On peut cependant imaginer qu'il serait garni progressivement par l'application, ou par la
lecture pralable d'un fichier).
Attention : Tous les articles n'existent pas dans toutes les couleurs. Dans un tel cas le pris est
zro et l'application affiche l'Information 'Objet inexistant dans cette couleur'.

Ateliers Windows Forms

Liste des Prix


Chaise en teck
Table en teck
Chaise en Pvc
Table en Pvc
Chaise de bureau Prestige
Table de bureau Prestige
Tapis de souris
Visual basic facile

Rouge
350.25
750.5
49.5
800
1200

Vert

Blanc

Noir

Gris

49.5

55. 5
49
355
1100

55.5
52
700

55.5

1200

50
350

Ateliers Windows Forms

4. Saisie, Slection, Edition


4.1. La croisire s'amuse
Objectif
Raliser une application permettant de saisir du texte, des chiffres ainsi que des dates.
L'objectif est de fournir aux utilisateurs un cran de saisie permettant d'assurer l'intgrit des
donnes.
Pour les dates, utiliser le contrle DateTimePicker.
Pour les chiffres, utiliser le contrle NumericUpDown.
Ces deux type de contrle vous permettent de simplifier votre code en filtrant les donnes
saisies tout en amliorant l'ergonomie d votre logiciel.

Rsultat attendu

Traitement effectu
Le titre de la fentre s'actualise en dynamique lors de la saisie de l'intitul.
Le bouton 'Ok' ne sera pas accessible si l'utilisateur omet de renseigner ce l'intitul.
Lorsque le focus quitte une date, le Label de droite affiche automatiquement la dure du
sjour. Attention vrifier que la date d'arrive est postrieure la date de dpart.
De mme, aprs avoir renseign les champs 'Nb Places' et 'Nb Inscrits', l'tiquette de droite
affichera automatiquement le nombre de places disponibles. Le nombre de places rserves ne
doit pas excder le nombre de places disponibles.
Le bouton 'Annuler' se contente de fermer la fentre, alors que le bouton 'Ok' affiche un
message rcapitulatif avant de quitter l'application.

Ateliers Windows Forms

Notez que la fentre principale ne possde pas de case d'agrandissement ni de rduction et ne


peut tre redimensionne par l'utilisateur.

Elments utiles
Elment
System

Type Membre
S
DateTime

System
string

S
M

TimeSpan
Format

Description
Reprsente un instant, gnralement exprim sous la
forme d'une date ou d'une heure.
Reprsente un intervalle de temps.
Mise en forme de chanes de caractres

Si vous avez du temps


Les dates saisies ne devront pas tre antrieures la date du jour. Le nombre de places doit
tre suprieur zro.
La boite de message finale permettra de confirmer ou pas la validit des donnes.

Si la rponse est 'Oui', votre application simulera l'enregistrement des donnes en rinitialisant
les contrles du formulaire leurs valeurs par dfaut.
Date de Dpart : Date du jour, Date d'Arrive : Date du jour +1, valeurs numriques 0,
tiquettes calcules : "###", titre de la fentre : "Voyage :"
Si la rponse est 'Non', la boite de dialogue se ferme simplement pour permettre l'utilisateur
de corriger les donnes.

Ateliers Windows Forms

4.2. Contrles de saisie


Objectif
Effectuer la validation de donnes. Grer la saisie dans une grille comportant une zone
alphabtique, une zone numrique et une zone date, comme dans la feuille ci-dessous.
Transfrer des informations d'un objet Form une autre. Mettre en oeuvre le contrle
errorProvider.

Rsultat attendu

Traitement effectu
Contrler l'absence de numriques dans les champs 'Nom' et 'Prnom', la prsence exclusive
de chiffres dans le champ 'Code Postal', la validit des chiffres de la date de naissance,
prsente selon le format dfini au niveau du panneau de configuration.
En cas d'erreur de saisie, on place le curseur sur l'erreur, et on met un Bip sonore.
Il est galement possible d'afficher un message dans une barre d'tat (contrle Label). Dans ce
cas il serait intressant d'effacer le message en question ds que l'utilisateur effectue la
correction.
Une fois les donnes correctement saisies, le fait de cliquer sur 'Ok' affiche une deuxime
fentre intitule 'Consultation' se prsentant comme suit:

Ateliers Windows Forms


Si les lments saisis ne se conforment pas aux contraintes spcifies, l'utilisateur obtient le
rsultat suivant :

Une icne d'avertissement se place droite de chaque champ non conforme. Lorsque
l'utilisateur dplace la souris sur l'icne d'avertissement, une infobulle l'informe de la nature
de l'erreur. Cette fonctionnalit passe par l'utilisation du contrle errorProvider. Le Label
faisant office de barre d'tat fournit un message d'erreur gnral.
Ds que l'utilisateur entame une correction dans une zone, l'icne d'avertissement associ
disparait, ainsi que le message d'erreur dans la barre d'tat..

Elments utiles
Elment
errorProvide
r
char

Type Membre
M
SetError

Form

Description
Dfinit la chane de description de l'erreur pour le
contrle spcifi.
IsDigit
Indique si un caractre Unicode est class dans la
catgorie des chiffres dcimaux.
ShowDialog Affiche le formulaire comme une bote de dialogue
modale.

Ateliers Windows Forms

4.3. Evnements Clavier


Objectif
Savoir grer le clavier, en contrlant la frappe et le relchement de chaque touche.
Les vnements traiter seront de type KeyDown, KeyPress, KeyUp.

Rsultat attendu

Traitement effectu
Ouvrir un contrle de type ListBox dans laquelle apparatra pour chaque touche frappe et
pour chaque vnement le code de touche (KeyChar) ou le code caractre (KeyChar).
Une fois lune touche relch votre code devra slectionner le dernier lment de la liste.

Elments utiles
Elment
Control
Control
Control
KeyEventArgs
KeyPressEventArgs
ListBox
ListBox

Type
E
E
E
C
C
M
P

Membre
KeyDown
KeyPress
KeyUp
KeyCode
KeyChar
Items.Add
SelectedIndex

Description
Se produit lorsqu'une touche est enfonce
Se produit lorsqu'un caractre est saisi
Se produit lorsqu'une touche est relche
Donnes d'vnements KeyDown et KeyUp
Donnes d'vnement KeyPress
Ajout d'lment dans une liste
N d'lment slectionn dans une liste

Si vous avez du temps


Approfondissez les membres fournis par KeyEventArgs et KeyPressEventArgs (Alt, Ctrl,
Handle, KeyData, KeyValue, Modifiers, Shift etc
Faites apparatre les informations qui vous semblent pertinentes dans la liste.

Ateliers Windows Forms

4.4. Slection et dition de texte


Objectif
Savoir traiter du texte, travailler sur une zone slectionne, utiliser les fonctions de traitement
de caractres.

Rsultat attendu

Traitement effectu
Entrer du texte dans une zone de saisie. Aprs slection de ce texte, reprer les
caractristiques de la slection l'aide des proprits appropries ().
Lorsque l'oprateur appuie sur le bouton 'Majuscules', le texte slectionn doit tre converti en
majuscules. Idem pour le bouton 'Minuscule'.
Positionner correctement le focus en fin d'opration.
Afficher au bas de la feuille la position du curseur et la taille de la slection.

Ateliers Windows Forms

Elments utiles
Elment
Tout Contrle

Type
E

TextBox

TextBox

TextBox

String
String

M
M

Membre
MouseUp

Description
Se produit lorsque le pointeur de la souris se trouve
sur le contrle et qu'un bouton de la souris est
relch.
SelectionStart
Obtient ou dfinit le point de dpart du texte
slectionn dans la zone de texte.
SlectionLength Obtient ou dfinit le nombre de caractres
slectionns dans la zone de texte.
SelectedText
Obtient ou dfinit une valeur indiquant la couleur
du texte slectionn dans le contrle.
ToUpper
Retourne une copie de ce String en majuscules.
ToLower
Retourne une copie de String en minuscules.

Si vous avez du temps


Faites en sorte que votre formulaire fonctionne galement si l'utilisateur utilise le clavier pour
effectuer la slection et non la souris.

Ateliers Windows Forms

4.5. Slection et dition de texte


Objectif
Analyser une chane de caractres. Localiser dans une chane de caractres des chiffres.
Localiser dans une chane de caractres des chiffres pairs. Crer une mthode boolenne
'estChiffrePair' permettant de savoir si tel caractres transmis reprsente ou pas un chiffre
divisible par 2.

Rsultat attendu

Traitement effectu
Analyser une chane de caractres afin de dtecter la prsence du premier chiffre pair et
afficher sa position dans ltiquette faisant office de barre dtat.

Elments utiles
Elment
string
char

Type
P
M

Membre
Length
IsDigit

double

Parse

string

Format

Description
Obtient le nombre de caractres dans cette instance.
Indique si un caractre Unicode est class dans la catgorie
des chiffres dcimaux.
Convertit la reprsentation sous forme de chane d'un nombre
en nombre en virgule flottante double prcision quivalent.
Permet la mise en forme de chanes de caractres.
Remplace chaque lment de mise en forme dans un String
spcifi par l'quivalent textuel de la valeur d'un objet
correspondant.

Si vous avez du temps


Crer un bouton permettant de localiser le dernier chiffre pair.
Proposer deux bouton radio intituler Pair et Impair permettant vos boutons de rechercher les
chiffres correspondants dans la chane.

Ateliers Windows Forms

4.6. Slection et dition de texte (volution)


Objectif
Analyser une chane de caractres et grer des compteurs

Rsultat attendu
Dmarrage de l'application

Premier Clic

Avant dernier Clic

Dernier Clic

Traitement effectu
Analyser une chane de caractres afin de dtecter la prsence de tous les chiffres pairs et
afficher leurs positions dans ltiquette faisant office de barre d'tat.
Dans le cas contraire, afficher un message adquat.
Aprs avoir localis le premier chiffre pair, le bouton de commande change d'intitul pour
indiquer que sont action a chang (la recherche s'effectue partir de la position courante).
Une fois que tous les chiffres pairs ont t localiss le bouton reprend son libell initial.

Ateliers Windows Forms

4.7. Mthode NomPropre


Objectif
Crer une classe proposant une mthode intitule NomPropre.

Rsultat attendu

Aprs avoir cliqu sur le bouton 'Nom Propre'

Traitement effectu
Le fait de cliquer sur le bouton 'Nom Propre' a pour effet d'invoquer une mthode NomPropre
d'une classe que vous aurez cre dans ce but.
Vous transmettez la mthode le contenu de votre zone de texte, et vous affectez le rsultat de
votre mthode au contenu de votre zone de texte.

Elments utiles
Elment
string
char

Type
M
M

Membre
Substring
ToUpper

Description
Extrait une sous-chane de l'instance spcifie.
Retourne une copie de String en majuscules.

Si vous avez du temps


Amliorer votre mthode afin quelle transforme la premire lettre de chaque mot en
majuscule.

Ateliers Windows Forms

5. Fichiers Texte
5.1. Bloc-Note simplifi
Objectif
Crer une application permettant l'utilisateur de saisir un texte qu'il sera en mesure
d'enregistrer puis d'ouvrir lors d'une prochaine utilisation.

Rsultat attendu

Traitement effectu
Utiliser un contrle de type TextBox pour la saisie. Le bouton Enregistrer sauvegarde le texte
dans un fichier intitul 'texte.txt'. Le bouton 'Effacer' remet la zone de texte blanc. Le bouton
'Ouvrir' permet l'utilisateur de recharger le fichier 'texte.txt' dans la zone de texte.
Faites en sorte que la zone de texte se dimensionne en mme temps que la fentre. Quand aux
boutons de commandes, il devront toujours se situer en bas droite du formulaire.

Elments utiles
Elment
System.IO

Type
C

StreamWriter

StreamWriter

System.IO

StreamReader M
StreamReader M

Membre
StreamWriter

Description
Implmente TextWriter pour crire les caractres
dans un flux selon un codage particulier.
Permet entre autre d'crire dans un fichier texte.
Write
crit dans le flux. Dans notre cas, permet d'effectuer
la sauvegarde du fichier.
Close
Ferme le StreamWriter en cours et le flux sousjacent.
StreamReader Implmente TextReader qui lit les caractres partir
d'un flux d'octets dans un codage particulier.
Permet entre autre de lire un fichier texte.
ReadToEnd
Lit le flux entre la position actuelle et la fin du flux.
Close
Ferme StreamReader et le flux sous-jacent et libre
les ressources du systme associes au lecteur.

Ateliers Windows Forms

Si vous avez du temps


Ralisez le mme atelier en utilisant un contrle RichTextBox la place du contrle TextBox.
Le contrle RichTextBox est au WordPad de Windows ce que le TextBox est au Bloc-Notes.

Elments utiles
Elment
Type
RichTextBox M

Membre
LoadFile

RichTextBox M

SaveFile

Description
Charge le contenu d'un fichier dans le contrle
RichTextBox.
Enregistre le contenu du contrle RichTextBox dans un
fichier.

5.2. Post-It
Objectif
Crer une application permettant l'utilisateur de saisir un texte qu'il sera sauvegard
automatiquement la fermeture du formulaire.

Rsultat attendu

Traitement effectu
Cette application est trs proche des deux ateliers prcdents, si ce n'est que le fichier texte est
charg automatiquement en mme temps de l'application. La sauvegarde s'effectue lors de la
fermeture du programme.
Notez que la barre de titre de la fentre est de type 'Barre d'outils' ou 'Palette Windows'.

Elments utiles
Elment
Form
Form
Form

Type
P
E
E

Membre
FormBorderStyle
Load
Closing

Description
Obtient ou dfinit le style de bordure du formulaire.
Se produit avant le premier affichage d'un formulaire.
Se produit pendant la fermeture du formulaire.

Ateliers Windows Forms

5.3. Fichier Squentiel


Objectif
Savoir utiliser un fichier squentiel en lecture / criture. Utiliser les instructions de recherche
dans une chane de caractres.

Rsultat attendu

Votre application sera valide sur un rsultat strictement identique celui prsent cidessus.

Traitement effectu
Analyser et traiter un gros fichier texte (ascii) afin de lexploiter dans vos applications futures.
Ce fichier, un document dune cinquantaine de pages, contient un QCM contenant plus de 500
questions/rponses. Votre travail consiste parcourir le fichier dont voici un extrait :

Ateliers Windows Forms


1. Compter et afficher le nombre de questions trouves, les afficher dans une ListBox et
les crire dans le fichier texte en sortie.
2. Compter et afficher le nombre total de lignes dans le fichier source (y compris les
lignes blanches ventuelles).
3. Compter et afficher le nombre rel de lignes valides.
4. Compter et afficher le nombre total de caractres dans le fichier source (y compris les
espaces).
5. Compter et afficher le nombre rel de caractres valides (espaces exclus).
6. Afficher la demande, le fichier texte rsultat dans le bloc note,
Le fichier produit en sortie doit correspondre l'exemple suivant:

Notez que l'on commence par crire la date de cration en entte du fichier.

Elments utiles
Elment
System.IO

Type Membre
C StreamWriter

System.IO

StreamReader

StreamWriter

WriteLine

StreamReader

ReadLine

DateTime

Now

string

Length

string

IndexOf

string
string

M
M

Substring
ToUpper

Description
Implmente TextWriter pour crire les caractres
dans un flux selon un codage particulier.
Permet entre autre d'crire dans un fichier texte.
Implmente TextReader qui lit les caractres
partir d'un flux d'octets dans un codage particulier.
Permet entre autre de lire un fichier texte.
crit dans le flux de texte une chane suivie d'un
terminateur de ligne.
Lit une ligne de caractres partir du flux en
cours et retourne les donnes sous forme de
chane.
Obtient un DateTime correspondant la date et
l'heure locales actuelles sur cet ordinateur.
Obtient le nombre de caractres dans cette
instance.
Retourne la position d'une chane de caractres
dans une autre.
Extrait une sous-chane de l'instance spcifie.
Retourne une copie de String en majuscules.

Ateliers Windows Forms


StreamWriter

Close

StreamReader

Close

System.Diagnostics C

Process

Process

Start

Ferme le StreamWriter en cours et le flux sousjacent.


Ferme StreamReader et le flux sous-jacent et
libre les ressources du systme associes au
lecteur.
Fournit l'accs des processus locaux ainsi que
distants, et vous permet de dmarrer et d'arrter
des processus systme locaux.
Lance une ressource de processus et l'associe un
composant Process.

Remarque
Prenez le temps d'analyser le fonctionnement d'une telle application qui correspond une
situation susceptible d'tre rencontre en entreprise.

Si vous avez du temps


Dans l'tat actuel des choses, en examinant attentivement votre fichier de sortie, vous
remarquerez certaines imperfections dont voici quelques exemples:

Modifiez votre algorithme pour remdier au problme.

Ateliers Windows Forms

6. Enrichissement Interface Graphique


6.1. Bloc-Note amlior
Objectif
Mettre en uvre les dialogues communes aux applications Windows. (Ouvrir, Enregistrer
sous, Polices de caractres, Couleurs)

Rsultat attendu

Aprs avoir cliqu sur le bouton 'Enregistrer'

Ateliers Windows Forms


Aprs avoir cliqu sur le bouton 'Caractres'

Aprs avoir cliqu sur un bouton 'Couleur'

Traitement effectu
Fonctionnalit associe aux boutons:
Nouveau
Cre un nouveau document. La zone de saisie est remise blanc. Attention
si le document en cours n'a pas t enregistrer au moment du clic, votre
application propose l'utilisateur de le faire. Selon la rponse de
l'utilisateur, et selon les besoins le dialogue 'Enregistrer sous' est utilis.
Ouvrir
Affiche le dialogue 'Ouvrir'. Mme remarque que prcdemment
concernant le document courant.

Ateliers Windows Forms


Enregistrer

Caractres
Couleur Texte
Couleur Fond

Enregistre le document en cours. Si le document en cours a dj fait l'objet


d'enregistrements prcdents, la sauvegarde se fait directement sans aucune
confirmation. S'il s'agit du premier enregistrement, la boite de dialogue
'Enregistrer sous' s'affiche.
Permet de modifier la police de caractres de la zone de saisie. La boite de
dialogue 'Police' est utilise. A l'ouverture, elle reprend les caractristiques
de la police en cours.
Offre l'utilisateur la possibilit de modifier la couleur du texte par le biais
du dialogue commun 'Couleurs'. A l'ouverture la boite affiche la couleur en
cours.
Mme chose pour la couleur de fond de la zone de texte.

Elments utiles
Elment
TextBox

Type
P

MessageBox

Windows.Forms C
Windows.Forms C
Windows.Forms C
Windows.Forms C

CommonDialog
FileDialog

M
P

FileDialog

FontDialog
ColorDialog

P
P

Membre
Modified

Description
Obtient ou dfinit une valeur qui indique que le
contrle zone de texte a t modifi par
l'utilisateur depuis la cration du contrle ou la
prcdente dfinition du contenu du contrle.
Show
Affiche une boite de message, avec ou sans
icne, avec un ou plusieurs boutons, avec ou
sans titre personnalis.
SaveFileDialog Reprsente une bote de dialogue commune qui
permet l'utilisateur de spcifier les options
d'enregistrement d'un fichier.
OpenFileDialog Reprsente une bote de dialogue commune pour
afficher le contrle qui permet l'utilisateur
d'ouvrir un fichier.
FontDialog
Reprsente une bote de dialogue commune
affichant la liste des polices actuellement
installes sur le systme.
ColorDialog
Reprsente une bote de dialogue commune
affichant les couleurs disponibles, ainsi que les
contrles permettant l'utilisateur de dfinir des
couleurs personnalises.
ShowDialog
Affiche le dialogue concern
FileName
Obtient ou dfinit une chane comportant le nom
de fichier slectionn dans la bote de dialogue
Fichier. (Enregistrer sous ou Ouvrir)
Filter
Obtient ou dfinit la chane de filtrage des noms
de fichier en cours, qui dtermine les choix
disponibles dans les zones Enregistrer sous
ou Types de fichiers de la bote de dialogue.
Font
Obtient ou dfinit la police slectionne.
Color
Obtient ou dfinit la couleur slectionne par
l'utilisateur.

Si vous avez du temps


Mettez en uvre la gestion de erreurs afin de prvenir tout problme d'ouverture ou
d'enregistrement de fichier.

Ateliers Windows Forms

6.2. Menus droulants, Barre d'outils et Barre d'Etat


Objectif
Amliorer l'interface graphique de l'atelier prcdent en utilisant des lments normaliss. Les
boutons seront remplacs par des menus droulants de type MenuStrip, ainsi que par une
barre d'outils de type ToolStrip. Utiliser pour la barre d'tat un contrle StatusStrip offrant
plus de possibilits qu'un simple Label.
Et si vous tes curieux, ne manquez pas de dcouvrir les vertus du ToolStripContainer

Rsultat attendu

Traitement effectu
Cet atelier comporte les mmes traitements que ce du prcdent. Seule l'interface est
amliore. Le menu Fichier comporte les options suivantes: Nouveau, Ouvrir, Enregistrer,
Quitter.
Les diffrents boutons reproduisent toutes les fonctionnalits des menus.
Notez l'utilisation d'une barre d'tat permettant d'afficher non seulement un message mais
galement des informations systme telles que la date et l'heure.
Selon les actions effectues, la barre d'tat affichera des messages appropris (Enregistrement
effectu, Ouverture du fichier)
Les boutons seront dots d'info-bulles expliquant leur fonction.

Ateliers Windows Forms

6.3. Menus Dynamiques


Objectif
Il s'agit de mettre en uvre des menus droulants par programme.

Rsultat attendu

Traitement effectu
Au lancement de l'application, votre formulaire principal est dot de deux menus. Le menu
'Fichier' comporte la seule option 'Quitter'. Le menu 'Prnoms' est vide.
Une barre d'outils dote de 3 boutons propose les fonctionnalits suivantes:
'Prnoms' est un bouton bascule permettant de charge et dcharger une liste de prnoms
dans le menu du mme nom.

Une fois le menu charg, la slection d'un prnom provoque son affichage dans le formulaire
et sont reprage (Checked) dans le menu.
Un deuxime click sur le bouton 'Prnom' supprime les lments du menu 'Prnoms'.
'Polices' est un bouton bascule faisant apparatre un troisime menu contenant la liste des
polices de caractres installes sur le systme. Le choix d'une police dans le menu provoque
sont reprage (Checked) et son application au texte du prnom affich.
Lorsque le menu Police est affich, le bouton correspondant permet de le dtruire.

Ateliers Windows Forms

'Quitter' est un simple bouton poussoir permettant de quitter l'application.

Elments utiles
Elment
Form

Membre
P MainMenuStrip

Forms

C MenuStrip

Form

C ToolStripMenuItem

MainMenuStrip,
ContextMenuStrip
ToolStripMenuItem

M DropDownItems

ToolStripMenuItem

P Checked

ToolStripMenuItem

E Click

DropDownItems
DropDownItems

M Add
M Clear

Drawing

C FontFamily

FontFamily

P Families

P Text

Description
Reprsente la structure de menus d'un
formulaire. Cette proprit est de type
MenuStrip.
Fournit un systme de menus d'un
formulaire. (Peut tre assimil une barre de
menus).
Reprsente un lment individuel affich
dans un MainMenuStrip ou dans un
ContextMenuStrip. ToolStripMenuItem
est une classe drive de ToolStripItem
Obtient une valeur qui indique la collection
d'objets associe au menu.
Obtient ou dfinit une valeur qui indique la
lgende de l'lment de menu.
Obtient ou dfinit une valeur qui indique si
une coche apparat en regard du texte de
l'lment de menu.
Se produit suite un clic sur l'lment de
menu ou la slection de cet lment l'aide
d'une touche de raccourci ou d'une touche
d'accs rapide.
Ajoute un nouvel lment la collection.
Supprime tous les objets de la collection
d'lments de menu.
Dfinit un groupe de polices dont le design
de base est similaire, mais qui comportent
des variations de styles. Exemple : 'Arial'
Retourne un tableau contenant tous les
objets FontFamily associs au contexte
graphique en cours.

Ateliers Windows Forms


FontFamily
Forms

P Name
C ToolStrip

ToolStripButton,
ToolStripMenuItem

P CheckOnClick

ToolStripButton,
ToolStripMenuItem

P Checked

Obtient le nom de cet objet FontFamily.


Fournit un conteneur pour les objets barre
d'outils Windows.
Obtient ou dfinit une valeur indiquant si
llment doit automatiquement apparatre
activ et dsactiv lorsque l'utilisateur clique
dessus.
Obtient ou dfinit une valeur indiquant si
llment est coch.

6.4. Menus Contextuels


Objectif
A partir de l'atelier prcdent, mettre en uvre un menu contextuel ou PopUp.

Rsultat attendu

Traitement effectu
Il est dsormais possible d'afficher un menu contextuel par clic droit sur le prnom affich. Ce
menu offre deux sous menus, 'Polices' et 'Couleurs'.
Le sous-menu 'Couleurs' est statique dans la mesure o les noms de couleurs sont renseigns
lors de la conception de l'application. En choisissant une couleur, celle-ci s'applique au
prnom affich.
Le sous-menu 'Polices' est dynamique. Celui-ci est aliment et vid par le bouton bascule
'Polices'. La police slectionne s'applique au prnom affich.

Ateliers Windows Forms

Elments utiles
Elment
Type Membre
Description
Forms
C
ContextMenuStrip Reprsente un menu contextuel.
ContextMenuStrip P
DropDownItems
Obtient une valeur qui indique la collection
d'objets associe au menu.
DropDownItems
M
Add
Ajoute un novel lment de menu la
collection.
DropDownItems
M
Clear
Supprime tous les objets de la collection
d'lments de menu.

Ateliers Windows Forms

6.5. Barres de Dfilement (HScrollBar et VScrollBar)


Objectif
Savoir mettre en oeuvre des barres de dfilements (ascenseurs) et afficher des couleurs
variables.

Rsultat attendu

Traitement effectu
Effectuer le mlange des couleurs partir des trois fondamentales Rouge, Vert et Bleu.
La couleur rsultant du mlange des trois est affiche l'aide d'une quatrime tiquette au bas
de la feuille.
En agissant sur chaque barre de dfilement on fait varier la couleur correspondante et la
couleur rsultante.
Avec un peu de rflexion quelques lignes de code suffisent. L'exemple ci-dessus en compte 4.
Bonne rflexion.

Elments utiles
Elment
ScrollBar

Type Membre
P
Value

ScrollBar

Scroll

Color

FromArgb

Description
Obtient ou dfinit une valeur numrique qui reprsente la
position actuelle de la zone de dfilement sur le contrle
barre de dfilement.
Se produit lorsque la case de dfilement a t dplace
par une action de la souris ou du clavier.
Cre une structure Color partir des valeurs des quatre
composants ARVB 8 bits (alpha, rouge, vert et bleu).

Si vous avez du temps


Il serait intressant d'afficher sous forme numrique la valeur de chaque couleur, en dcimal
et pourquoi pas en Hexadcimal?
Il est galement possible de faire varier une barre de dfilement lui assignant une valeur
numrique.
Donner la possibilit l'utilisateur de taper chaque couleur sous forme de chiffre dans une
zone de texte et d'ajuster les lments de la fentre en fonction des valeurs saisies.

Ateliers Windows Forms

6.6. Curseurs (TrackBar)


Objectif
Adapter latelier prcdent en utilisant des contrle de type TrackBar et NumericUpDown.

Rsultat attendu

Traitement effectu
En jouant sur les curseurs les diffrentes couleurs s'ajustent automatiquement ainsi que les
valeurs numriques correspondantes.
La modification d'une valeur numrique provoque le mme effet sur las diffrents lments.

Elments utiles
Elment
TrackBar

Type Membre
P
Orientation

TrackBar et
P
NumericUpDown
TrackBar et
P
NumericUpDown
TrackBar et
P
NumericUpDown

Minimum

TrackBar

Scroll

NumericUpDown E

Maximum
Value

ValueChanged

Description
Obtient ou dfinit une valeur indiquant
l'orientation horizontale ou verticale de la barre
de suivi.
Obtient ou dfinit la limite infrieure de la plage
avec laquelle cette TrackBar fonctionne.
Obtient ou dfinit la limite suprieure de la plage
avec laquelle cette TrackBar fonctionne.
Obtient ou dfinit une valeur numrique qui
reprsente la position actuelle du curseur sur la
barre de suivi.
Se produit lorsqu'une action de la souris ou du
clavier dplace le curseur.
Se produit lorsque la proprit Value a t
modifie.

Ateliers Windows Forms

6.7. ListView et ImageList


Objectif
Mettre en uvre et peupler un contrle ListView, puis grer les diffrents modes daffichages
proposs par le contrle.

Rsultat attendu

Traitement effectu
Le constructeur du formulaire se chargera dalimenter de contrle ListView avec des donnes.
(Les icnes vous sont fournies par votre formateur)
Les diffrents boutons permettront de changer le mode daffichage de la liste (Grandes icnes,
petites icnes, Liste et Dtail).

Vous remarquerez que le bouton correspondant laffichage en cours est dsactiv. La ligne
de llment en cours est entirement slectionne.

Ateliers Windows Forms

Elments utiles
Elment
ListView

Type Membre
P
Columns

ListView

Items
M
ListViewItem P
ListViewItem P
SubItems
ListView

M
P

ListView

ListView

ListView

ImageList

ImageList

Description
Collection contenant tous les en-ttes de colonne
(de type ColumnHeader) qui apparaissent dans le
contrle.
Items
Collection qui contient tous les lments (de type
ListViewItem) du contrle.
Add
Ajoute un lment la collection.
SubItems
Obtient une collection contenant tous les souslments de l'lment.
ImageIndex
Obtient ou dfinit l'index de l'image qui s'affiche
pour l'lment.
Add
Ajoute un sous-lment la collection.
LargeImageList Obtient ou dfinit le ImageList utiliser lors de
l'affichage des lments sous forme de grandes
icnes dans le contrle.
SmallImageList Obtient ou dfinit l'objet ImageList utiliser lors
de l'affichage des lments sous forme de petites
icnes dans le contrle.
View
Obtient ou dfinit la faon d'afficher les lments
dans le contrle.
FullRowSelect Obtient ou dfinit une valeur qui indique si le fait
de cliquer sur un lment slectionne aussi tous ses
sous-lments.
Images
Collection des images (de type ImageCollection)
stockes dans cette liste d'images.
ImageSize
Obtient ou dfinit la taille des images dans la liste
d'images.

Si vous avez du temps


Faites en sorte que les quatre boutons utilisent le mme gestionnaire dvnement. La
proprit Tag peut tre utilise pour mmoriser la vue (View) qui sera applique par chacun
des boutons.
Le fait de double-cliquer sur un lment affiche le dialogue suivant.
Exemple : Double-Clic sur Dupont

Si vous avez vraiment du temps


Pourquoi ne pas prvoir la modification des informations Qualit et Caractre ?

Ateliers Windows Forms

6.8. TreeView - Mdiathque


Objectif
Dcouvrir les fonctionnalits et les subtilits du contrle TreeView. Une instance de ce type
est constitue dune collection Nodes dobjets de type TreeNode. Chaque objet TreeNode
possde lui-mme une collection Nodes de ses nuds enfants, et ainsi de suite. Pour ajouter
un nud il suffit dinvoquer la mthode Add de la collection Nodes laquelle vous voulez
rattacher ce nouvel lment. Pour supprimer un noeud, appliquez-lui la mthode Remove.
LIDE Visual Studio.NET vous procure un assistant permettant de peupler votre TreeView en
mode Design. Cet assistant est accessible partir de la palette des proprits.

Rsultat attendu

Traitement effectu
Crer un formulaire dot dun contrle TreeView, dune StatusBar et de 3 contrles de type
Button. Au dmarrage de lapplication votre TreeView contiendra les donnes prsentes cidessus. Quatre dossiers (Livre, CD, DVD et Vido) reprsenteront les types de mdias de
votre Mdiathque. Chaque dossier contiendra quelques lments. Vous noterez que chaque
type de mdia est dot dun icne adapte.
Le bouton Dvelopper permettra comme son nom lindique de dvelopper lensemble de
larborescence, alors que le bouton Rduire fera le contraire.
La barre dtat sera dote de deux volets (Panels). Le premier volet affichera le type de mdia
slectionn. Le deuxime affichera le nombre dlments dans la catgorie slectionne ou le
nom du mdia selon le cas :

Ateliers Windows Forms

Il va sans dire que vos contrle devront se dplacer / redimensionner lors du redimensionnent
de la fentre.
Le dernier bouton est le plus intressant.
Lorsquun type de mdia sera slectionn (Dossier), le bouton sintitulera Ajouter
et permettra dajouter un mdia dans la catgorie en question.
Lorsquun mdia sera slectionn, le bouton sintitulera Supprimer et permettra de
supprimer ce mdia aprs confirmation de lutilisateur.

Ajout dun nouveau mdia

Ateliers Windows Forms

Suppression dun mdia

Elments utiles
Elment
TreeView

Type Membre
P
HideSelection

Description
Obtient ou dfinit une valeur indiquant si le nud
d'arbre slectionn reste affich en surbrillance
mme quand l'arborescence a perdu le focus.
ImageList
Obtient ou dfinit lImageList qui contient les
objets Image utiliss par les nuds d'arbre.
Nodes
Obtient la collection des nuds d'arbre assigns
au contrle TreeView.
Count
Nombre dlments de la collection.
ImageIndex
Obtient ou dfinit la valeur d'index de liste de
l'image par dfaut qui est affiche par les nuds
d'arbre.
SelectedImageIndex Obtient ou dfinit la valeur d'index de liste de
l'image affiche lorsqu'un nud d'arbre est
slectionn.
Add
Ajoute un nouveau nud d'arbre la collection.
Remove
Supprime le nud d'arbre spcifi de la collection
de nuds d'arbre.
SelectedNode
Obtient ou dfinit le nud d'arbre qui est
actuellement slectionn dans le contrle
TreeView.
Text
Obtient ou dfinit le texte affich dans l'tiquette
du nud d'arbre.
Parent
Obtient le nud d'arbre parent du nud d'arbre en
cours.
ImageIndex
Obtient ou dfinit la valeur d'index de liste de
l'image affiche quand le nud d'arbre est dans
l'tat non slectionn.
SelectedImageIndex Obtient ou dfinit la valeur d'index de liste de
l'image affiche quand le nud d'arbre est dans
l'tat slectionn.
Expand
Dveloppe le nud d'arbre.
Collapse
Rduit le nud d'arbre.

TreeView

TreeView

Nodes
TreeView

P
P

TreeView

Nodes
Nodes

M
M

TreeView

TreeNode

TreeNode

TreeNode

TreeNode

TreeNode
TreeNode

M
M

Ateliers Windows Forms


TreeView
TreeView
TreeView

M
M
E

CollapseAll
ExpandAll
AfterSelect

Rduit tous les nuds d'arbre.


Dveloppe tous les nuds d'arbre.
Se produit aprs la slection du nud d'arbre.

Si vous avez du temps

Ajouter la possibilit de renommer un mdia.


Mettez en ouvres des menus contextuels proposant les options appropries selon le
nud slectionn.
Permettez lutilisateur de supprimer un mdia au clavier laide de la touche
{Suppr}, renommer un mdia laide de la touche {F2}

6.9. Glisser Dplacer (Drag & Drop)


Objectif
Dcouvrir les base du glisser dplacer.

Rsultat attendu

Traitement effectu
Lutilisateur de votre application pourra faire glisser le contenu de la premire zone de texte
vers la seconde ou vers la corbeille.
Zone de texte1 vers zone de texte2 : le texte sera dplac de la premire zone vers la
seconde.
Zone de texte1 vers zone de texte2, touche {Ctrl} maintenue : le texte sera copi de la
premire zone vers la seconde.
Zone de texte1 vers la corbeille : le texte sera effac de la premire zone. La corbeille
changera daspect pour indiquer quelle contient le texte venant dy tre dpos.

Un clic droit sur la corbeille proposera un menu contextuel proposant de restaurer son contenu
(vers la zone de texte 1). Si la corbeille est vide, loption restaurer devra tre dsactive.

Ateliers Windows Forms


Avant restauration

Aprs restauration

Elments utiles
Elment
Control

Type Membre
P
AllowDrop

Control

MouseEventArgs P
MouseButtons
Control
DragDropEffects

P
M
P

DragDropEffects

Control

Control
DragEventArgs
Data

E
P
M

Description
Obtient ou dfinit une valeur indiquant si le
contrle peut accepter des donnes que l'utilisateur
y fait glisser.
MouseDown Se produit lorsque le pointeur de la souris se trouve
sur le contrle et qu'un bouton de la souris est
enfonc.
Button
Obtient le bouton de la souris sur lequel
l'utilisateur a appuy.
Left
Le bouton gauche de la souris a t enfonc.
DoDragDrop Dmarre une opration glisser-dplacer.
Copy
Les donnes sont copies dans la cible de
dplacement.
Move
Les donnes issues de la source de glissement sont
dplaces vers la cible de dplacement.
DragEnter
Se produit lorsqu'un objet est dplac dans les
limites d'un contrle.
DragDrop
Se produit lors d'une opration de glisser-dplacer.
Data
Obtient les donnes associes cet vnement.
GetData
Extrait les donnes associes au format de donnes
spcifi.

Si vous avez du temps


Faites en sorte que le glisser dplacer puisse fonctionner partir de la deuxime zone de texte.
Loption Restaurer de la corbeille devra rtablir son contenu dans la zone de texte
approprie.

Ateliers Windows Forms

6.10. Drag & Drop Images


Objectif
Mise en uvre du glisser dplacer pour des ressources de type graphique.

Rsultat attendu

Traitement effectu
Des pictogrammes de type PictureBox sont regroups dans un Panel. Votre application
permet de faire glisser un pictogramme dans la zone de droite afin de le dessiner.

Le bouton Effacer permet la remise blanc de la surface de dessin.

Ateliers Windows Forms


Les types de contrle mis en uvre sont de type Panel et PictureBox.
Les lments utiliser sont sensiblement les mmes que pour le tp prcdent. La liste suivante
ne mentionne que les lments spcifiques cet exercice.

Elments utiles
Elment
PictureBox

Type Membre
P
Image

Control

Data

DataFormats

Control

Graphics

System.Drawing T
Graphics

Description
Obtient ou dfinit l'image que PictureBox
affiche.
CreateGraphics Cre l'objet Graphics permettant de dessiner sur
le contrle concern.
GetData
Extrait les donnes associes au format de
donnes spcifi.
Bitmap
Spcifie un format de bitmap Windows. Ce
champ static est en lecture seule.
PointToClient
Calcule l'emplacement du point spcifi l'cran
en coordonnes client.
DrawImage
Dessine l'objet Image spcifi l'emplacement
indiqu avec sa taille d'origine.
Image
Classe de base abstraite qui fournit des
fonctionnalits pour les classes descendantes
Bitmap et Metafile.
Clear
Efface l'intgralit de la surface de dessin et la
remplit avec la couleur d'arrire-plan spcifie.

Si vous avez du temps


Ajouter quelques outils. Possibilit de dessiner des lignes, rectangles, ellipses

6.11. Timer et ProgressBar


Objectif
Apprhender les fonctionnalits du contrle Timer et matrialiser lcoulement du temps
laide dun contrle de type ProgressBar.

Rsultat attendu

Traitement effectu
Le bouton Go permet de dmarrer la cuisson. Il change alors de dsignation et permet
maintenant linterruption de la cuisson. Une fois la cuisson dmarre le Label et le
ProgressBar indiquent leur manire le nombre de secondes coules.

Ateliers Windows Forms

En cas dutilisation du bouton Stop la fentre se prsente comme suit :

Elments utiles
Elment
Type Membre
ProgressBar P
Maximum
ProgressBar P
ProgressBar P
ProgressBar P
ProgressBar M
ProgressBar M
Timer

Timer

Timer
Timer
System

M
M
C

System

Description
Obtient ou dfinit la valeur maximale de la plage du
contrle.
Minimum
Obtient ou dfinit la valeur minimale du contrle
d'entre associ.
Step
Obtient ou dfinit la quantit d'augmentation de la
position actuelle de la barre de progression lors d'un
appel la mthode PerformStep.
Value
Obtient ou dfinit la position actuelle de la barre de
progression.
Increment
Fait avancer la position actuelle de la barre de
progression de la quantit spcifie.
PerformStep Fait avancer la position actuelle de la barre de
progression de la quantit de la proprit Step.
Interval
Obtient ou dfinit l'heure, en millimes de seconde, entre
les graduations de la minuterie.
Enabled
Obtient ou dfinit si la minuterie est en cours
d'excution.
Start
Dmarre la minuterie.
Stop
Arrte la minuterie.
DateTime
Reprsente un instant, gnralement exprim sous la
forme d'une date ou d'une heure.
TimeSpan
Reprsente un intervalle de temps.

Si vous avez du temps


Avant de dmarrer la cuisson, donnez la possibilit lutilisateur de dterminer sa dure.

Ateliers Windows Forms

6.12. TreeView, ListView et Splitter


Objectif
Crer une application de type explorateur de fichier permettant dexplorer un dossier
spcifique de votre rpertoire de travail.

Rsultat attendu

Traitement effectu
La liste de gauche est constitue dun contrle TreeView affichant votre arborescence de
dossiers. La liste de droite est matrialise par un contrle de type ListView et affiche les
fichiers du dossier slectionn. Les deux listes sont dlimites par un contrle de type
Splitter. Ce dernier permet lutilisateur de rpartir lespace du formulaire rservs aux deux
listes.

Afin de raliser ce tp et de mieux apprhender la gestion du systme de fichiers, nous vous


conseillons vivement dinvestiguez les classes suivantes : Environment, Path, Directory,
File, DirectoryInfo et FileInfo.

Elments utiles
Elment
Environment
Environment

Type Membre
Description
M
GetFolderPath Obtient le chemin d'accs au dossier spcial du
systme identifi par l'numration spcifie.
E
SpecialFolder Spcifie les constantes numres utilises pour
extraire les chemins d'accs des dossiers spciaux du

Ateliers Windows Forms

SpecialFolder P

Personal

System.IO

Directory

systme.
Rpertoire servant de rfrentiel commun pour les
documents.
Expose des mthodes static pour crer, dplacer et
numrer via des rpertoires et sous-rpertoires.

System.IO

System.IO

Directory

Directory

Path

File
Fournit des mthodes static pour crer, copier,
supprimer, dplacer et ouvrir des fichiers et facilite la
cration d'objets FileStream.
Path
Excute des oprations sur des instances String qui
contiennent des informations relatives au chemin
d'accs d'un fichier ou d'un rpertoire.
GetDirectories Obtient les noms des sous-rpertoires dans le
rpertoire spcifi.
GetFiles
Retourne les noms des fichiers dans le rpertoire
spcifi.
GetFileName Retourne le nom et l'extension de fichier de la chane
de chemin d'accs spcifie.

Si vous avez du temps


Ajoutez une barre dtat votre projet permettant dafficher des information relatives au
fichier slectionn.

Ateliers Windows Forms

6.13. RichTextBox et compagnie


Objectif
Dcouverte des contrles suivants ; TabControl, DomainUpDown, RichTextBox et
NotifyIcon.

Rsultat attendu

Traitement effectu
Le contrle intitul Civilit proposera les 3 valeurs : Monsieur, Madame et Mademoiselle.
Le reste de la page Dtail est une fiche de saisie des plus classiques.

La barre dtat affiche en dynamique les informations concernant le contact ainsi que la date
systme.

Ateliers Windows Forms


La page Commentaires est constitue dun contrle de type RichTextBox dot dun menu
contextuel.
Lors de sa rduction, la fentre ne sera plus apparente dans la barre des tches (sous forme de
bouton), mais ne sera accessible que par le biais dune icne dans la zone de notification en
bas droite de lcran.
Style donnera accs aux trois options Gras , Italique , Soulign et Normal ,
alors que Couleur proposera Rouge , Vert , Bleu et Noir . Ces diffrentes
options permettront dappliquer la mise en forme correspondante au texte slectionn.

Elments utiles
Elment
Form

Type Membre
Description
P
ShowInTaskbar Obtient ou dfinit une valeur indiquant si le
formulaire est affich dans la barre des tches
Windows.
Form
P
WindowState
Obtient ou dfinit l'tat de la fentre du
formulaire.
FormWindowState P
Minimized
Fentre rduite.
RichTextBox
P
SelectionFont
Obtient ou dfinit la police du texte de la
slection actuelle ou du point d'insertion.
RichTextBox
P
SelectionColor Obtient ou dfinit la couleur du texte de la
slection actuelle ou du point d'insertion.
RichTextBox
M
SaveFile
Enregistre
le
contenu
du
contrle
RichTextBox dans un fichier.
RichTextBox
M
LoadFile
Charge le contenu d'un fichier dans le contrle
RichTextBox.

Si vous avez du temps


Faites en sorte de sauvegarder les donnes sur disque la fermeture de lapplication et de les
recharger louverture.