Anda di halaman 1dari 53

Office de la Formation Professionnelle et de la Promotion du Travail

ROYAUME DU MAROC
ISTA CHMAOU

Ateliers Windows
Forms
Module: Programmation vnementielle en CSharp
Propos par:EL MOUTTAKI RAJAE


DIRECTION RECHERCHE ET INGENIERIE
DE FORMATION
SECTEUR NTIC
Ateliers Windows Forms
Sommaire
1. LABEL, TEXTBOX ET BUTTON ...........................................................................
1.1. CONCATNATION ........................................................................................................................
1.2. ADDITION .......................................................................................................................................
1.3. CALCULETTE.................................................................................................................................
3
3
4
5
2. CASES COCHER ET BOUTONS RADIO .......................................................... 6
2.1. CASES COCHER ....................................................................................................................... 6

2.2. CASE COCHER ET BOUTONS RADIO .................................................................................. 7

2.3. BOUTONS RADIO ........................................................................................................................ 8
3. LISTES DIVERSES ................................................................................................... 9

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

3.2. LES DIFFRENTS TYPES DE LISTES ....................................................................................... 10

3.3. LISTBOX - APPROFONDISSEMENT ....................................................................................... 11

3.4. MANIPULATION DES LISTES................................................................................................... 12

3.5. LISTES ET TABLEAUX .............................................................................................................. 13
4. SAISIE, SLECTION, EDITION ............................................................................. 15

4.1. LA CROISIRE S'AMUSE ........................................................................................................... 15

4.2. CONTRLES DE SAISIE ............................................................................................................. 17

4.3. EVNEMENTS CLAVIER ........................................................................................................... 19

4.4. SLECTION ET DITION DE TEXTE ........................................................................................ 20

4.5. SLECTION ET DITION DE TEXTE ........................................................................................ 22

4.6. SLECTION ET DITION DE TEXTE (VOLUTION) .................................................. 23

4.7. MTHODE NOMPROPRE .......................................................................................................... 24
5. FICHIERS TEXTE .................................................................................................... 25

5.1. BLOC-NOTE SIMPLIFI ............................................................................................................. 25

5.2. POST-IT ........................................................................................................................................ 26

5.3. FICHIER SQUENTIEL ............................................................................................................... 27
6. ENRICHISSEMENT INTERFACE GRAPHIQUE ................................................ 30

6.1. BLOC-NOTE AMLIOR ........................................................................................................... 30

6.2. MENUS DROULANTS, BARRE D'OUTILS ET BARRE D'ETAT ........................................ 33

6.3. MENUS DYNAMIQUES .............................................................................................................. 34

6.4. MENUS CONTEXTUELS ............................................................................................................ 36

6.5. BARRES DE DFILEMENT (HSCROLLBAR ET VSCROLLBAR) .............................. 38

6.6. CURSEURS (TRACKBAR) ..................................................................................... 39
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 2 - 53
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 Type Membre Description
Tous contrles P Text Texte affich
Tous contrles P TextAlign Alignement du texte (gauche, droite...)
Tous contrles E Click Evnement Click effectu avec la souris
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 3 - 53
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 Type Membre Description
Control P Text Texte affich
Control P TextAlign Alignement du texte (gauche, droite...)
Control E Click Evnement Click effectu avec la souris
TextBox E TextChanged Evnement Proprit Text modifie
double M Parse 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 4 - 53
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 Type Membre Description
Control P Enabled Indique si un contrle est activ
TextBox E KeyPress Se produit lorsqu'un caractre est tap
TextBox E LostFocus Se produit lorsque le contrle perd le focus.
Math M Sqrt Retourne la racine carre d'un nombre spcifi
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 5 - 53
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 Type Membre Description
CheckBox P Checked true/false indique si une case est coche ou pas
Control P Controls Obtient la collection de contrles contenus dans le
contrle.
Form P AcceptButton Bouton d'acceptation du formulaire (Entre).
Form P CancelButton 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 6 - 53
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 Type Membre Description
CheckBox P Checked true/false indique si une case est coche ou
pas
Control P Height Hauteur du contrle
Control P BackColor Couleur de fond
System.Drawing S Color Structure donnant accs un grand nombre
de membre nomms de type Color.
Exemples : Color. AliceBlue, Color.Red,
Color.Gold...
Color M FromArgb Cre une structure Color partir des valeurs
des quatre composants ARVB 8 bits (alpha,
rouge, vert et bleu).
CheckBox et
RadioButton
E CheckedChanged Se produit lorsque la proprit checked
change de valeur.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 7 - 53
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 Type Membre Description
Control P Visible true/false, le contrle est affich ou pas
Control P Tag 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...
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 8 - 53
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 Type Membre Description
ListBox P Items Collection des lments de la liste
Items M Add Ajoute un lment la collection Items
Items P Count Nombre d'lments dans la collection
ListBox P SelectedIndex Index de l'lment slectionn ( partir de 0)
ListBox P SelectedItem Elment slectionn
ListBox P Text Texte correspondant l'lment slectionn
ListBox E SelectedIndexChanged 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 9 - 53
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 Type Membre Description
Tous contrles E KeyUp Touche relche
Tous contrles E MouseUp Souris relche
Toutes Listes E SelectedIndexChanged Slection modifie
Toutes Listes M Add Ajout dlments
Toutes Liste P SelectedItem Elments slectionn
ListBox P SelectionMode Slection Unique, Multiple, Etendue
ListBox P SelectedItems Collection des lments slectionns
checkedListBox P CheckedItems Collection des lments cochs
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 10 - 53
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 Type Membre Description
ListBox P SelectedIndex Index de l'lment slectionn ( partir de 0)
Items P Count Nombre d'lment dans la collection
Control M Focus Place le curseur (caret) sur le contrle
int M Parse 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 11 - 53
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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 12 - 53
Ateliers Windows Forms
Elments utiles
Classe Type Membre Description
ListBox M Items.Add Ajoute un lment la ListBox
ListBox M Items.Remove Supprime l'lment spcifi
ListBox M Items.Clear Efface tous les lments de la liste
ListBox M Items.Insert Insre un lment une position donne
ListBox M Items.AddRange 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'.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 13 - 53
Ateliers Windows Forms

Liste des Prix
Rouge Vert Blanc Noir Gris
Chaise en teck 350.25
Table en teck 750.5
Chaise en Pvc 49.5 49.5 55. 5 55.5 55.5
Table en Pvc 49 52
Chaise de bureau Prestige 800 355 700
Table de bureau Prestige 1200 1200 1100
Tapis de souris 50
Visual basic facile 350
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 14 - 53
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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 15 - 53
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 Type Membre Description
System S DateTime Reprsente un instant, gnralement exprim sous la
forme d'une date ou d'une heure.
System S TimeSpan Reprsente un intervalle de temps.
string M Format 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 16 - 53
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:

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 17 - 53
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 Type Membre Description
errorProvider M SetError Dfinit la chane de description de l'erreur pour le
contrle spcifi.
char M IsDigit Indique si un caractre Unicode est class dans la
catgorie des chiffres dcimaux.
Form M ShowDialog Affiche le formulaire comme une bote de dialogue
modale.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 18 - 53
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 Type Membre Description
Control E KeyDown Se produit lorsqu'une touche est enfonce
Control E KeyPress Se produit lorsqu'un caractre est saisi
Control E KeyUp Se produit lorsqu'une touche est relche
KeyEventArgs C KeyCode Donnes d'vnements KeyDown et KeyUp
KeyPressEventArgs C KeyChar Donnes d'vnement KeyPress
ListBox M Items.Add Ajout d'lment dans une liste
ListBox P SelectedIndex 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 19 - 53
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.

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 20 - 53
Ateliers Windows Forms
Elments utiles
Elment Type Membre Description
Tout Contrle E MouseUp Se produit lorsque le pointeur de la souris se trouve
sur le contrle et qu'un bouton de la souris est
relch.
TextBox P SelectionStart Obtient ou dfinit le point de dpart du texte
slectionn dans la zone de texte.
TextBox P SlectionLength Obtient ou dfinit le nombre de caractres
slectionns dans la zone de texte.
TextBox P SelectedText Obtient ou dfinit une valeur indiquant la couleur
du texte slectionn dans le contrle.
String M ToUpper Retourne une copie de ce String en majuscules.
String M 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 21 - 53
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
El ment Type Membre Descri pti on
string P Length Obtient le nombre de caractres dans cette instance.
char M IsDigit Indique si un caractre Unicode est class dans la catgorie
des chiffres dcimaux.
double M Parse Convertit la reprsentation sous forme de chane d'un
nombre en nombre en virgule flottante double prcision
quivalent.
string M Format 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 22 - 53


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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 23 - 53
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
El ment Type Membre Descri pti on
string M Substring Extrait une sous-chane de l'instance spcifie.
char M ToUpper 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.

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 24 - 53
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 Type Membre Description
System.IO C StreamWriter Implmente TextWriter pour crire les caractres
dans un flux selon un codage particulier.
Permet entre autre d'crire dans un fichier texte.
StreamWriter M Write crit dans le flux. Dans notre cas, permet d'effectuer
la sauvegarde du fichier.
StreamWriter M Close Ferme le StreamWriter en cours et le flux sous-
jacent.
System.IO C 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.
StreamReader M ReadToEnd Lit le flux entre la position actuelle et la fin du flux.
StreamReader M Close Ferme StreamReader et le flux sous-jacent et libre
les ressources du systme associes au lecteur.

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 25 - 53
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 Membre Description
RichTextBox M LoadFile Charge le contenu d' un fichier dans le contrle
RichTextBox.
RichTextBox M SaveFile 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 Type Membre Description
Form P FormBorderStyle Obtient ou dfinit le style de bordure du formulaire.
Form E Load Se produit avant le premier affichage d'un formulaire.
Form E Closing Se produit pendant la fermeture du formulaire.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 26 - 53
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 ci-
dessus.
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 :

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 27 - 53
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 Type Membre Description
System.IO C StreamWriter Implmente TextWriter pour crire les caractres
dans un flux selon un codage particulier.
Permet entre autre d'crire dans un fichier texte.
System.IO C 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.
StreamWriter M WriteLine crit dans le flux de texte une chane suivie d'un
t e r m i n a t e u r d e l i g n e .
StreamReader M ReadLine Lit une ligne de caractres partir du flux en
cours et retourne les donnes sous forme de
chane.
DateTime P Now Obtient un DateTime correspondant la date et
l'heure locales actuelles sur cet ordinateur.
string P Length Obtient le nombre de caractres dans cette
instance.
string M IndexOf Retourne la position d'une chane de caractres
dans une autre.
string M Substring Extrait une sous-chane de l'instance spcifie.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 28 - 53
System.Diagnostics C Process Fournit l'accs des processus locaux ainsi que
distants, et vous permet de dmarrer et d'arrter
des processus systme locaux.
Process M Start Lance une ressource de processus et l'associe un
composant Process.
string M ToUpper Retourne une copie de String en majuscules.
StreamWriter M Close Ferme le StreamWriter en cours et le flux sous-
j a c e n t .
StreamReader M Close Ferme StreamReader et le flux sous-jacent et
libre les ressources du systme associes au
lecteur.
Ateliers Windows Forms

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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 29 - 53
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'

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 30 - 53
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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 31 - 53
Ateliers Windows Forms
Enregistrer 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.
Caractres 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.
Couleur Texte 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.
Couleur Fond Mme chose pour la couleur de fond de la zone de texte.
Elments utiles
Elment Type Membre Description
TextBox P Modified 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.
MessageBox M Show Affiche une boite de message, avec ou sans
i c ne , a ve c un ou pl us i e ur s bout ons ,
a ve c ou s a ns t i t r e pe r s onna l i s .
Windows.Forms C SaveFileDialog Reprsente une bote de dialogue commune qui
permet l'utilisateur de spcifier les options
d'enregistrement d'un fichier.
Windows.Forms C OpenFileDialog Reprsente une bote de dialogue commune pour
afficher le contrle qui permet l'utilisateur
d'ouvrir un fichier.
Windows.Forms C FontDialog Reprsente une bote de dialogue commune
affichant la liste des polices actuellement
installes sur le systme.
Windows.Forms C ColorDialog Reprsente une bote de dialogue commune
affichant les couleurs disponibles, ainsi que les
contrles permettant l'utilisateur de dfinir des
couleurs personnalises.
CommonDialog M ShowDialog Affiche le dialogue concern
FileDialog P FileName Obtient ou dfinit une chane comportant le nom
de fichier slectionn dans la bote de dialogue
Fichier. (Enregistrer sous ou Ouvrir)
FileDialog P 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.
FontDialog P Font Obtient ou dfinit la police slectionne.
ColorDialog P 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 32 - 53
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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 33 - 53
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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 34 - 53
Ateliers Windows Forms

'Quitter' est un simple bouton poussoir permettant de quitter l'application.
Elments utiles
Elment Membre Description
Form P MainMenuStrip Reprsente la structure de menus d'un
formulaire. Cette proprit est de type
MenuStrip.
Forms C MenuStrip Fournit un systme de menus d'un
formulaire. (Peut tre assimil une barre de
menus).
Form C ToolStripMenuItem Reprsente un lment individuel affich
dans un MainMenuStrip ou dans un
ContextMenuStrip. ToolStripMenuItem est
une classe drive de ToolStripItem
MainMenuStrip, M DropDownItems Obtient une valeur qui indique la collection
ContextMenuStrip d'objets associe au menu.
ToolStripMenuItem P Text Obtient ou dfinit une valeur qui indique la
lgende de l'lment de menu.
ToolStripMenuItem P Checked Obtient ou dfinit une valeur qui indique si
une coche apparat en regard du texte de
l'lment de menu.
ToolStripMenuItem E Click 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.
DropDownItems M Add Ajoute un nouvel lment la collection.
DropDownItems M Clear Supprime tous les objets de la collection
d'lments de menu.
Drawing C FontFamily Dfinit un groupe de polices dont le design
de base est similaire, mais qui comportent
des variations de styles. Exemple : 'Arial'
FontFamily P Families Retourne un tableau contenant tous les
objets FontFamily associs au contexte
graphique en cours.

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 35 - 53
Ateliers Windows Forms
FontFamily P Name Obtient le nom de cet objet FontFamily.
Forms C ToolStrip Fournit un conteneur pour les objets barre
d'outils Windows.
ToolStripButton, P CheckOnClick Obtient ou dfinit une valeur indiquant si
ToolStripMenuItem llment doit automatiquement apparatre
activ et dsactiv lorsque l'utilisateur clique
dessus.
ToolStripButton, P Checked Obtient ou dfinit une valeur indiquant si
ToolStripMenuItem 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 36 - 53
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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 37 - 53
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 Type Membre Description
ScrollBar P Value Obtient ou dfinit une valeur numrique qui reprsente la
position actuelle de la zone de dfilement sur le contrle
barre de dfilement.
ScrollBar E Scroll Se produit lorsque la case de dfilement a t dplace
par une action de la souris ou du clavier.
Color M FromArgb 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 38 - 53
Ateliers Windows Forms

TrackBar et
NumericUpDown
TrackBar et
NumericUpDown
P Minimum Obtient ou dfinit la limite infrieure de la plage
avec laquelle cette TrackBar fonctionne.
P Maximum Obtient ou dfinit la limite suprieure de la plage
avec laquelle cette TrackBar fonctionne.
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 Type Membre Description
TrackBar P Orientation Obtient ou dfinit une valeur indiquant
l'orientation horizontale ou verticale de la barre
de suivi.
TrackBar et P Value Obtient ou dfinit une valeur numrique qui
NumericUpDown reprsente la position actuelle du curseur sur la
barre de suivi.
TrackBar E Scroll Se produit lorsqu'une action de la souris ou du
clavier dplace le curseur.
NumericUpDown E ValueChanged Se produit lorsque la proprit Value a t
modifie.

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 39 - 53
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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 40 - 53
Ateliers Windows Forms
Elments utiles
Elment Type Membre Description
ListView P Columns Collection contenant tous les en-ttes de colonne
(de type ColumnHeader) qui apparaissent dans le
contrle.
ListView P Items Collection qui contient tous les lments (de type
ListViewItem) du contrle.
Items M Add Ajoute un lment la collection.
ListViewItem P SubItems Obtient une collection contenant tous les sous-
lments de l'lment.
ListViewItem P ImageIndex Obtient ou dfinit l'index de l'image qui s'affiche
pour l'lment.
SubItems M Add Ajoute un sous-lment la collection.
ListView P LargeImageList Obtient ou dfinit le ImageList utiliser lors de
l'affichage des lments sous forme de grandes
icnes dans le contrle.
ListView P SmallImageList Obtient ou dfinit l'objet ImageList utiliser lors
de l'affichage des lments sous forme de petites
icnes dans le contrle.
ListView P View Obtient ou dfinit la faon d'afficher les lments
dans le contrle.
ListView P FullRowSelect Obtient ou dfinit une valeur qui indique si le fait
de cliquer sur un lment slectionne aussi tous ses
sous-lments.
ImageList P Images Collection des images (de type ImageCollection)
stockes dans cette liste d'images.
ImageList P 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 ?
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 41 - 53


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 ci-
dessus. 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 :
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 42 - 53


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

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 43 - 53

Ateliers Windows Forms
Suppression dun mdia
Elments utiles
Elment Type Membre Description
TreeView P HideSelection Obtient ou dfinit une valeur indiquant si le nud
d'arbre slectionn reste affich en surbrillance
mme quand l'arborescence a perdu le focus.
TreeView P ImageList Obtient ou dfinit lImageList qui contient les
objets Image utiliss par les nuds d'arbre.
TreeView P Nodes Obtient la collection des nuds d'arbre assigns
au contrle TreeView.
Nodes P Count Nombre dlments de la collection.
TreeView P ImageIndex Obtient ou dfinit la valeur d'index de liste de
l'image par dfaut qui est affiche par les nuds
d'arbre.
TreeView P SelectedImageIndex Obtient ou dfinit la valeur d'index de liste de
l'image affiche lorsqu'un nud d'arbre est
slectionn.
Nodes M Add Ajoute un nouveau nud d'arbre la collection.
Nodes M Remove Supprime le nud d'arbre spcifi de la collection
de nuds d'arbre.
TreeView P SelectedNode Obtient ou dfinit le nud d'arbre qui est
actuellement slectionn dans le contrle
TreeView.
TreeNode P Text Obtient ou dfinit le texte affich dans l'tiquette
du nud d'arbre.
TreeNode P Parent Obtient le nud d'arbre parent du nud d'arbre en
cours.
TreeNode P 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.
TreeNode P SelectedImageIndex Obtient ou dfinit la valeur d'index de liste de
l'image affiche quand le nud d'arbre est dans
l'tat slectionn.
TreeNode M Expand Dveloppe le nud d'arbre.
TreeNode M Collapse Rduit le nud d'arbre.

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 44 - 53
Ateliers Windows Forms
TreeView M CollapseAll Rduit tous les nuds d'arbre.
TreeView M ExpandAll Dveloppe tous les nuds d'arbre.
TreeView E AfterSelect 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 45 - 53
Ateliers Windows Forms
Avant restauration

Aprs restauration

Elments utiles
Elment Type Membre Description
Control P AllowDrop Obtient ou dfinit une valeur indiquant si le
contrle peut accepter des donnes que l'utilisateur
y fait glisser.
Control E MouseDown Se produit lorsque le pointeur de la souris se trouve
sur le contrle et qu'un bouton de la souris est
enfonc.
MouseEventArgs P Button Obtient le bouton de la souris sur lequel
l'utilisateur a appuy.
MouseButtons P Left Le bouton gauche de la souris a t enfonc.
Control M DoDragDrop Dmarre une opration glisser-dplacer.
DragDropEffects P Copy Les donnes sont copies dans la cible de
dplacement.
DragDropEffects P Move Les donnes issues de la source de glissement sont
dplaces vers la cible de dplacement.
Control E DragEnter Se produit lorsqu'un objet est dplac dans les
limites d'un contrle.
Control E DragDrop Se produit lors d'une opration de glisser-dplacer.
DragEventArgs P Data Obtient les donnes associes cet vnement.
Data M 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 46 - 53
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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 47 - 53



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 Type Membre Description
PictureBox P Image Obtient ou dfinit l'image que PictureBox
affiche.
Control M CreateGraphics Cre l'objet Graphics permettant de dessiner sur
le contrle concern.
Data M GetData Extrait les donnes associes au format de
donnes spcifi.
DataFormats P Bitmap Spcifie un format de bitmap Windows. Ce
champ static est en lecture seule.
Control M PointToClient Calcule l'emplacement du point spcifi l'cran
en coordonnes client.
Graphics M DrawImage Dessine l'objet Image spcifi l'emplacement
indiqu avec sa taille d'origine.
System.Drawing T Image Classe de base abstraite qui fournit des
fonctionnalits pour les classes descendantes
Bitmap et Metafile.
Graphics M 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 48 - 53
Ateliers Windows Forms

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

Elments utiles
Elment Type Membre Description
ProgressBar P Maximum Obtient ou dfinit la valeur maximale de la plage du
contrle.
ProgressBar P Minimum Obtient ou dfinit la valeur minimale du contrle
d'entre associ.
ProgressBar P Step Obtient ou dfinit la quantit d'augmentation de la
position actuelle de la barre de progression lors d'un
appel la mthode PerformStep.
ProgressBar P Value Obtient ou dfinit la position actuelle de la barre de
progression.
ProgressBar M Increment Fait avancer la position actuelle de la barre de
progression de la quantit spcifie.
ProgressBar M PerformStep Fait avancer la position actuelle de la barre de
progression de la quantit de la proprit Step.
Timer P Interval Obtient ou dfinit l'heure, en millimes de seconde, entre
les graduations de la minuterie.
Timer P Enabled Obtient ou dfinit si la minuterie est en cours
d'excution.
Timer M Start Dmarre la minuterie.
Timer M Stop Arrte la minuterie.
System C DateTime Reprsente un instant, gnralement exprim sous la
forme d'une date ou d'une heure.
System C TimeSpan Reprsente un intervalle de temps.
Si vous avez du temps
Avant de dmarrer la cuisson, donnez la possibilit lutilisateur de dterminer sa dure.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 49 - 53
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 Type Membre Description
Environment M GetFolderPath Obtient le chemin d'accs au dossier spcial du
systme identifi par l' numration spcifie.
Environment E SpecialFolder Spcifie les constantes numres utilises pour
extraire les chemins d'accs des dossiers spciaux du

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 50 - 53
Ateliers Windows Forms
systme.
SpecialFolder P Personal Rpertoire servant de rfrentiel commun pour les
documents.
System.IO C Directory Expose des mthodes static pour crer, dplacer et
numrer via des rpertoires et sous-rpertoires.
System.IO C File Fournit des mthodes static pour crer, copier,
supprimer, dplacer et ouvrir des fichiers et facilite la
cration d'objets FileStream.
System.IO C Path Excute des oprations sur des instances String qui
contiennent des informations relatives au chemin
d'accs d'un fichier ou d'un rpertoire.
Directory M GetDirectories Obtient les noms des sous-rpertoires dans le
rpertoire spcifi.
Directory M GetFiles Retourne les noms des fichiers dans le rpertoire
spcifi.
Path M 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.

OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 51 - 53

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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 52 - 53
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 Type Membre Description
Form 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.
OFPPT
Travaux Pratiques Module : Page
Propos par :EL MOUTTAKI Programmation vnementielle 53 - 53

Anda mungkin juga menyukai