Vous êtes sur la page 1sur 53

ROYAUME DU MAROC

ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail ISTA CHMAOU

Office de la Formation Professionnelle et de la Promotion du Travail ISTA CHMAOU

Ateliers Windows Forms

Module: Programmation Événementielle en CSharp

Forms Module: Programmation Événementielle en CSharp Proposé par:EL MOUTTAKI RAJAE D IRECTION R ECHERCHE ET I

Proposé par:EL MOUTTAKI RAJAE

DIRECTION RECHERCHE ET INGENIERIE DE FORMATION

SECTEUR NTIC

Ateliers Windows Forms Sommaire

1. LABEL, TEXTBOX ET BUTTON

3

1.1. CONCATÉNATION

3

1.2. ADDITION

4

1.3. CALCULETTE

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 PROPRIÉTÉS

9

3.2. LES DIFFÉRENTS TYPES DE LISTES

10

3.3. LISTBOX - APPROFONDISSEMENT

11

3.4. MANIPULATION DES LISTES

12

3.5. LISTES ET TABLEAUX

13

4. SAISIE, SÉLECTION, EDITION

15

4.1. LA CROISIÈRE S'AMUSE

15

4.2. CONTRÔLES DE SAISIE

17

4.3. EVÈNEMENTS CLAVIER

19

4.4. SÉLECTION ET ÉDITION DE TEXTE

20

4.5. SÉLECTION ET ÉDITION DE TEXTE

22

4.6. SÉLECTION ET ÉDITION DE TEXTE (ÉVOLUTION)

23

4.7. MÉTHODE NOMPROPRE

24

5. FICHIERS TEXTE

25

5.1. BLOC-NOTE SIMPLIFIÉ

25

5.2. POST-IT

26

5.3. FICHIER SÉQUENTIEL

27

6. ENRICHISSEMENT INTERFACE GRAPHIQUE

30

6.1. BLOC-NOTE AMÉLIORÉ

30

6.2. MENUS DÉROULANTS, BARRE D'OUTILS ET BARRE D'ETAT

33

6.3. MENUS DYNAMIQUES

34

6.4. MENUS CONTEXTUELS

36

6.5. BARRES DE DÉFILEMENT (HSCROLLBAR ET VSCROLLBAR)

38

6.6. CURSEURS (TRACKBAR)

39

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

2 - 53

Ateliers Windows Forms

1. Label, TextBox et Button

1.1. Concaténation

Objectif

Savoir mettre en oeuvre quelques contrôles élémentaires, boutons, zones de texte et étiquettes. Le but du traitement consiste à réaliser une application permettant de faire la concaténation (l'addition) de 2 zones. L’application ne comporte qu’un seul Form représenté ci- dessous :

Résultat attendu

seul Form représenté ci - dessous : Résultat attendu Une fois le texte saisi dans les

Une fois le texte saisi dans les zones 'Zone 1' et 'Zone 2' la concaténation s'effectue automatiquement dans la zone 'Résultat' en cliquant sur le bouton du même 'Ok'.

Le bouton 'Remise à blanc' efface les trois zones.

Cliquer sur "Ok" provoque l'exécution du calcul et l'affichage du résultat.

Aucune saisie ne doit pouvoir être faite dans la zone résultat (Utiliser un contrôle de type Label ou TextBox en lecture seule).

Conseils

D'abord, dessiner l'interface sans se préoccuper du code. Définir les propriétés de chacun des contrôles, position, taille, enrichissements.

Enfin, rédiger le code déclenché par un Click sur les boutons 'Ok' et 'Remise à Blanc'. Ajoutez des commentaires (texte précédé de // ou entre /* et */). Les commentaires ne ralentissent en rien l'exécution du programme (ils ne sont pas compilés) et sont des plus utiles lors de modifications ultérieures

Eléments utiles

Classe

Type

Membre

Description

Tous contrôles

P

Text

Texte affiché

Tous contrôles

P

TextAlign

Alignement du texte (gauche, droite

)

Tous contrôles

E

Click

Evènement Click effectué avec la souris

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

3 - 53

Ateliers Windows Forms

1.2. Addition

Objectif

Réaliser une application permettant d'additionner 2 chiffres. L’application ne comporte qu’un seul écran décrit ci- dessous :

Résultat attendu

qu’un seul écran décrit ci - dessous : Résultat attendu Traitement effectué: Au fur et à

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'arrêt du programme avec affichage préalable du message suivant:

Eléments utiles

affichage préalable du message suivant: Eléments utiles Classe Type Membre Description Control P

Classe

Type

Membre

Description

Control

P

Text

Texte affiché

Control

P

TextAlign

Alignement du texte (gauche, droite

)

Control

E

Click

Evènement Click effectué avec la souris

TextBox

E

TextChanged

Evènement Propriété Text modifiée

double

M

Parse

Convertit la représentation sous forme de chaîne d'un nombre en nombre en virgule flottante double précision équivalent.

Si vous avez du temps

Si vous cliquez sur la case de fermeture

revoir' ne s'affiche pas. Faites en sorte de résoudre ce problème.

et non sur le bouton quitter, le message 'Au

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

4 - 53

Ateliers Windows Forms

1.3. Calculette

Objectif

Savoir créer une application et mettre en œuvre quelques contrôles élémentaires, boutons, zones de texte et label, zone de groupe ou cadre, boutons d'option.

But du traitement

Partant de l'exemple Addition, nous allons réaliser une calculette.

Résultat attendu

nous allons réaliser une calculette. Résultat attendu Traitement effectué Après avoir entré un nombre dans les

Traitement effectué

Après avoir entré un nombre dans les zones de texte libellées 'Nombre1' et 'Nombre2' et sélectionné une des options du cadre 'Opérations', on peut :

Cliquer sur 'Ok' déclenche le calcul et l'affichage du résultat.

Le bouton 'Remise à blanc' remet les trois zones à zéro 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 sélectionnée, le bouton "Ok" doit être inopérant. Dès qu'un calcul devient possible, rendre le bouton utilisable.

Dés qu'une option est choisie, le signe de l'opération (+, -, *, /, V) doit apparaître dans l'intervalle situé entre les deux nombres.

Aucune saisie ne doit être faite dans la zone résultat. Afin d'éviter de nombreuses erreurs d'exécution, faites en sorte que les 2 TextBox ne permettent de n'entrer que des chiffres.

Eléments utiles

Classe

Type

Membre

Description

Control

P

Enabled

Indique si un contrôle est activé

TextBox

E

KeyPress

Se produit lorsqu'un caractère est tapé

TextBox

E

LostFocus

Se produit lorsque le contrôle perd le focus.

Math

M

Sqrt

Retourne la racine carrée d'un nombre spécifié

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

5 - 53

Ateliers Windows Forms

2. Cases à cocher et Boutons radio

2.1. Cases à cocher

Le contrôle CheckBox Windows Forms indique si une condition est active ou inactive. Il est couramment utilisé pour présenter à l'utilisateur des alternatives de type Oui/Non ou Vrai/Faux. Vous pouvez utiliser les contrôles CheckBox en groupes pour afficher plusieurs options parmi lesquelles l'utilisateur peut en sélectionner une ou plusieurs.

Résultat attendu

peut en sélectionner une ou plusieurs. Résultat attendu Traitement effectué L'utilisateur compose son menu en

Traitement effectué

L'utilisateur compose son menu en cochant les différents plats proposés. Il valide son choix en cliquant sur le bouton 'Ok'. Les options choisies s'affichent alors dans le contrôle Label sur le côté droit. Le bouton réinitialise tous les contrôles (Cases à cochées décochées et Label récapitulatif vide. Le bouton 'Fermer' met fin à l'application. L'utilisateur pourra utiliser le clavier à la place des boutons 'Ok' et 'Fermer'. La touche Entrée activera le bouton 'Ok' et la touche 'Echap' le bouton 'Fermer'.

Eléments utiles

Classe

Type

Membre

Description

CheckBox

P

Checked

true/false indique si une case est cochée ou pas

Control

P

Controls

Obtient la collection de contrôles contenus dans le

 

contrôle.

Form

P

AcceptButton

Bouton d'acceptation du formulaire (Entrée).

Form

P

CancelButton

Bouton d'annulation du formulaire (Echap).

Si vous avez du temps

Faites en sorte que le menu récapitulatif (Label de droite) soit mis à jour au fur et à mesure que l'utilisateur sélectionne ou désélectionne les plats.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

6 - 53

Ateliers Windows Forms

2.2. Case à cocher et Boutons radio

Objectif

Savoir gérer des cases à cocher et un groupe de boutons radios. Proposer à l'utilisateur une boite de dialogue à 'géométrie variable'.

Résultat attendu

Dans un premier temps, la boite se présente de la façon suivante:

premier temps, la boite se présente de la façon suivante: Une fois la première case sélectionnée,

Une fois la première case sélectionnée, la boite doit prendre cet aspect:

case sélectionnée, la boite doit prendre cet aspect: Traitement effectué L’écran dans sa forme initiale

Traitement effectué

L’écran dans sa forme initiale permet de cocher "Afficher les couleurs" ce qui déclenche l'extension de la fenêtre 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 sélectionner un des boutons couleur. La couleur sélectionnée doit s'appliquer au fond de la feuille.

Eléments utiles

Elément

Type

Membre

Description

CheckBox

P

Checked

true/false indique si une case est cochée ou

 

pas

Control

P

Height

Hauteur du contrôle

Control

P

BackColor

Couleur de fond

System.Drawing

S

Color

Structure donnant accès à un grand nombre de membre nommés de type Color. Exemples : Color. AliceBlue, Color.Red,

 

Color.Gold

Color

M

FromArgb

Crée une structure Color à partir des valeurs des quatre composants ARVB 8 bits (alpha,

 

rouge, vert et bleu).

CheckBox et

E

CheckedChanged

Se produit lorsque la propriété checked change de valeur.

RadioButton

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

7 - 53

Ateliers Windows Forms

2.3. Boutons radio

Objectif

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

Résultat attendu

en traitement individuel ou en groupe. Résultat attendu Traitement effectué L'écran comporte deux contrôles

Traitement effectué

L'écran comporte deux contrôles 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'évènement et que les 3 boutons radio de droite partagent le même gestionnaire d'évènement.

Les choix réalisés par l'utilisateur ne devront s'afficher dans les deux contrôles de type Label

après avoir cliqué sur le bouton 'Options sélectionnées

'.

Eléments utiles

Elément

Type Membre

Description true/false, le contrôle est affiché ou pas

Control

P

Visible

Control

P

Tag

de type object, permet d'associer des

données au contrôle

Il existe en fait de multiples manières 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

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

8 - 53

Ateliers Windows Forms

3. Listes diverses

3.1. ListBox Les listes et leurs propriétés

Objectif

Le but de cet atelier est de découvrir les fonctionnalités de bases communes aux différentes listes proposées dans le Framework.NET. L'exemple porte sur un contrôle de type ListBox.

Résultat attendu

porte sur un contrôle de type ListBox . Résultat attendu Traitement effectué En sélectionnant un élément

Traitement effectué

En sélectionnant un élément dans la listes les 3 propriété (Items.Count, SelectedIndex et Text) sont automatiquement mises à jour.

Eléments utiles

Classe

Type

Membre

Description

ListBox

P

Items

Collection des éléments de la liste

Items

M

Add

Ajoute un élément à la collection Items

Items

P

Count

Nombre d'éléments dans la collection

ListBox

P

SelectedIndex

Index de l'élément sélectionné (à partir de 0)

ListBox

P

SelectedItem

Elément sélectionné

ListBox

P

Text

Texte correspondant à l'élément sélectionné

ListBox

E

SelectedIndexChanged

Lors de la sélection d'un élément

Si vous avez du temps

Essayer de découvrir d'autres membres intéressants de la classe ListBox susceptibles d'être utilisés selon vos besoins.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

9 - 53

Ateliers Windows Forms

3.2. Les différents types de Listes

Objectif

Mettre en œuvre les différents types de listes à notre disposition : ListBox, checkedListBox et comboBox.

Au chargement du formulaire, remplir les différentes liste :

ListBox :

checkedListBox :

comboBox :

Janvier, Février, Mars, Avril. Mai, Juin, Juillet, Août. Septembre, Octobre,Novembre, Décembre.

La case à cocher ‘Sélection Multiple’ permet selon son état de sélectionner un ou plusieurs éléments dans la ListBox. Une étiquette indique en permanence le nombre d’éléments cochés dans la checkedListBox. Une dernière étiquette récapitule les mois sélectionnés (cochés pour la checkedListBox) dans les trois listes. Cette information se met à jour en temps réel dès que l’utilisateur modifie la sélection d’une des trois listes.

Résultat attendu

la sélection d’une des trois listes. Résultat attendu Eléments utiles Classe Type Membre Description

Eléments utiles

Classe

Type

Membre

Description

Tous contrôles

E

KeyUp

Touche relâchée

Tous contrôles

E

MouseUp

Souris relâchée

Toutes Listes

E

SelectedIndexChanged

Sélection modifiée

Toutes Listes

M

Add

Ajout d’éléments

Toutes Liste

P

SelectedItem

Eléments sélectionné

ListBox

P

SelectionMode

Sélection Unique, Multiple, Etendue

ListBox

P

SelectedItems

Collection des éléments sélectionnés

checkedListBox

P

CheckedItems

Collection des éléments cochés

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

10 - 53

Ateliers Windows Forms

3.3. ListBox - Approfondissement

Objectif

Etre en mesure de réaliser les opérations principales concernant les contrôle de type ListBox.

Résultat attendu

les contrôle de type ListBox . Résultat attendu Traitement effectué Lors du lancement de l'application,

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 Elémént' puis en pressant le bouton 'Ajout Liste'. Une fois un nouvel élément ajouté, le focus se repositionne sur 'Nouvel Elément' qui est remise à blanc. Lorsque l'utilisateur sélectionne un élément, les propriétés affectées s'affichent à droite. Il est également possible de sélectionner un élément en saisissant son N° dans la zone 'Index Elément' et en pressant le bouton 'Sélectionner'. Enfin, le bouton 'Vider la liste' comme son nom le laisse supposer remet la liste à blanc.

Eléments utiles

Classe

Type

Membre

Description

ListBox

P

SelectedIndex

Index de l'élément sélectionné (à partir de 0)

Items

P

Count

Nombre d'élément dans la collection

Control

M

Focus

Place le curseur (caret) sur le contrôle

int

M

Parse

Convertit la chaîne 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'exécution de votre application. Exemple : s'il saisit un N° d'élément qui n'existe pas ou sous forme de texte. Assurez-vous également qu'une valeur ne puisse pas être ajoutée deux fois dans la liste.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

11 - 53

Ateliers Windows Forms

3.4. Manipulation des Listes

Objectif

Approfondissement des Listes Créer une application permettant le déplacement d'éléments d'une liste dans une autre, ainsi que le tri de chacune des listes élément par élément.

En option, faire le tri de chacune des listes en ordre croissant et décroissant en une seule fois.

Résultat attendu

et décroissant en une seule fois. Résultat attendu Traitement effectué La liste de gauche s'alimente au

Traitement effectué

La liste de gauche s'alimente au chargement de la feuille. La liste de droite est vide au départ et est alimentée par les deux boutons '>' et '>>'.

Rôle des différents boutons :

>

Déplace l'élément sélectionné de la liste de gauche à celle de droite,

<

Déplace l'élément sélectionné de la liste de droite à celle de gauche,

>>

Déplace la totalité de la liste de gauche vers celle de droite,

<<

Déplace la totalité de la liste de droite vers celle de gauche,

Déplace l'élément sélectionné d'une ligne vers le haut (Tri Manuel),la totalité de la liste de droite vers celle de gauche, Déplace l'élément sélectionné d'une ligne

Déplace l'élément sélectionné d'une ligne vers le bas.sélectionné d'une ligne vers le haut (Tri Manuel), En option : A-Z Trie la liste correspondante

En option :

A-Z Trie la liste correspondante par ordre alphabétique, Z-A Trie la liste correspondante par ordre inverse,

Faites en sorte que les différents boutons ne soient accessibles qu'à bon escient. Exemple Si

l'utilisateur sélectionne le premier élément d'une liste, le bouton même s'il sélectionne le dernier élément d'une liste, le bouton

sélectionne le dernier élément d'une liste, le bouton devra être désactivé, de sera désactivé. OFPPT

devra être désactivé, de sera désactivé.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

12 - 53

Ateliers Windows Forms

Eléments utiles

Classe

Type

Membre

Description

ListBox

M

Items.Add

Ajoute un élément à la ListBox

ListBox

M

Items.Remove

Supprime l'élément spécifié

ListBox

M

Items.Clear

Efface tous les éléments de la liste

ListBox

M

Items.Insert

Insère un élément à une position donnée

ListBox

M

Items.AddRange

Ajoute une collection d'éléments à une liste

Conseils

Avant de vous lancer dans la programmation des différents tris, n'hésitez pas à réaliser 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.

Résultat attendu

retrouver une information dans un tableau. Résultat attendu Traitement effectué Permettre à un utilisateur de choisir

Traitement effectué

Permettre à un utilisateur de choisir un article dans une couleur donnée. Une fois la sélection effectuée, l'application recherche dans un tableau préalablement constitué en mémoire le tarif correspondant.

On constitue en mémoire 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 préalable d'un fichier).

Attention : Tous les articles n'existent pas dans toutes les couleurs. Dans un tel cas le pris est à zéro et l'application affiche l'Information 'Objet inexistant dans cette couleur'.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

13 - 53

Ateliers Windows Forms

Ateliers Windows Forms Liste des Prix   Rouge Vert Blanc Noir Gris     Chaise en

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 Événementielle

14 - 53

Ateliers Windows Forms

4. Saisie, Sélection, Edition

4.1. La croisière s'amuse

Objectif

Réaliser 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'intégrité des données.

Pour les dates, utiliser le contrôle DateTimePicker. Pour les chiffres, utiliser le contrôle NumericUpDown.

Ces deux type de contrôle vous permettent de simplifier votre code en filtrant les données saisies tout en améliorant l'ergonomie d votre logiciel.

Résultat attendu

l'ergonomie d votre logiciel. Résultat attendu Traitement effectué Le titre de la fenêtre s'actualise

Traitement effectué

Le titre de la fenêtre 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 durée du séjour. Attention à vérifier que la date d'arrivée est postérieure à la date de départ.

De même, après avoir renseigné les champs 'Nb Places' et 'Nb Inscrits', l'étiquette de droite affichera automatiquement le nombre de places disponibles. Le nombre de places réservées ne doit pas excéder le nombre de places disponibles.

Le bouton 'Annuler' se contente de fermer la fenêtre, alors que le bouton 'Ok' affiche un message récapitulatif avant de quitter l'application.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

15 - 53

Ateliers Windows Forms

Ateliers Windows Forms Notez que la fenêtre principale ne possède pas de case d'agrandissement ni de

Notez que la fenêtre principale ne possède pas de case d'agrandissement ni de réduction et ne peut être redimensionnée par l'utilisateur.

Eléments utiles

Elément

Type

Membre

Description

System

S

DateTime

Représente un instant, généralement exprimé sous la

 

forme d'une date ou d'une heure.

System

S

TimeSpan

Représente un intervalle de temps.

string

M

Format

Mise en forme de chaînes de caractères

Si vous avez du temps

Les dates saisies ne devront pas être antérieures à la date du jour. Le nombre de places doit être supérieur à zéro.

La boite de message finale permettra de confirmer ou pas la validité des données.

permettra de confirmer ou pas la validité des données. Si la réponse est 'Oui', votre application

Si la réponse est 'Oui', votre application simulera l'enregistrement des données en réinitialisant les contrôles du formulaire à leurs valeurs par défaut.

Date de Départ : Date du jour, Date d'Arrivée : Date du jour +1, valeurs numériques à 0, étiquettes calculées : "###", titre de la fenêtre : "Voyage :"

Si la réponse est 'Non', la boite de dialogue se ferme simplement pour permettre à l'utilisateur de corriger les données.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

16 - 53

Ateliers Windows Forms

4.2. Contrôles de saisie

Objectif

Effectuer la validation de données. Gérer la saisie dans une grille comportant une zone alphabétique, une zone numérique et une zone date, comme dans la feuille ci-dessous. Transférer des informations d'un objet Form à une autre. Mettre en oeuvre le contrôle errorProvider.

Résultat attendu

en oeuvre le contrôle errorProvider . Résultat attendu Traitement effectué Contrôler l'absence de numériques

Traitement effectué

Contrôler l'absence de numériques dans les champs 'Nom' et 'Prénom', la présence exclusive de chiffres dans le champ 'Code Postal', la validité des chiffres de la date de naissance, présentée selon le format défini 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 (contrôle Label). Dans ce cas il serait intéressant d'effacer le message en question dès que l'utilisateur effectue la correction.

Une fois les données correctement saisies, le fait de cliquer sur 'Ok' affiche une deuxième fenêtre intitulée 'Consultation' se présentant comme suit:

intitulée 'Consultation' se présentant comme suit: OFPPT Travaux Pratiques Proposé par :EL MOUTTAKI

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

17 - 53

Ateliers Windows Forms

Si les éléments saisis ne se conforment pas aux contraintes spécifiées, l'utilisateur obtient le résultat suivant :

l'utilisateur obtient le résultat suivant : Une icône d'avertissement se place à droite de chaque

Une icône d'avertissement se place à droite de chaque champ non conforme. Lorsque l'utilisateur déplace la souris sur l'icône d'avertissement, une infobulle l'informe de la nature de l'erreur. Cette fonctionnalité passe par l'utilisation du contrôle errorProvider. Le Label faisant office de barre d'état fournit un message d'erreur général.

Dès que l'utilisateur entame une correction dans une zone, l'icône d'avertissement associé disparait, ainsi que le message d'erreur dans la barre d'état

Eléments utiles

Elément

Type Membre

Description

errorProvider M

SetError

Définit la chaîne de description de l'erreur pour le contrôle spécifié.

char

M

IsDigit

Indique si un caractère Unicode est classé dans la catégorie des chiffres décimaux.

Form

M

ShowDialog Affiche le formulaire comme une boîte de dialogue modale.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

18 - 53

Ateliers Windows Forms

4.3. Evènements Clavier

Objectif

Savoir gérer le clavier, en contrôlant la frappe et le relâchement de chaque touche. Les évènements à traiter seront de type KeyDown, KeyPress, KeyUp.

Résultat attendu

de type KeyDown , KeyPress , KeyUp . Résultat attendu Traitement effectué Ouvrir un contrôle de

Traitement effectué

Ouvrir un contrôle de type ListBox dans laquelle apparaîtra pour chaque touche frappée et pour chaque événement le code de touche (KeyChar) ou le code caractère (KeyChar). Une fois lune touche relâché votre code devra sélectionner le dernier élément de la liste.

Eléments utiles

Elément

Type

Membre

Description

Control

E

KeyDown

Se produit lorsqu'une touche est enfoncée

Control

E

KeyPress

Se produit lorsqu'un caractère est saisi

Control

E

KeyUp

Se produit lorsqu'une touche est relâchée

KeyEventArgs

C

KeyCode

Données d'évènements KeyDown et KeyUp

KeyPressEventArgs

C

KeyChar

Données d'évènement KeyPress

ListBox

M

Items.Add

Ajout d'élément dans une liste

ListBox

P

SelectedIndex

N° d'élément sélectionné 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 apparaître les informations qui vous semblent pertinentes dans la liste.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

19 - 53

Ateliers Windows Forms

4.4. Sélection et édition de texte

Objectif

Savoir traiter du texte, travailler sur une zone sélectionnée, utiliser les fonctions de traitement de caractères.

Résultat attendu

fonctions de traitement de caractères. Résultat attendu Traitement effectué Entrer du texte dans une zone de

Traitement effectué

Entrer du texte dans une zone de saisie. Après sélection de ce texte, repérer les caractéristiques

de la sélection à l'aide des propriétés appropriées (

Lorsque l'opérateur appuie sur le bouton 'Majuscules', le texte sélectionné doit être converti en majuscules. Idem pour le bouton 'Minuscule'. Positionner correctement le focus en fin d'opération. Afficher au bas de la feuille la position du curseur et la taille de la sélection.

).

la position du curseur et la taille de la sélection. ). OFPPT Travaux Pratiques Proposé par

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

20 - 53

Ateliers Windows Forms

Eléments utiles

Elément

Type Membre

Description

Tout Contrôle E

MouseUp

Se produit lorsque le pointeur de la souris se trouve

 

sur le contrôle relâché.

et

qu'un bouton de la souris est

TextBox

P

SelectionStart

Obtient ou définit le point de départ du texte sélectionné dans la zone de texte.

TextBox

P

SélectionLength Obtient ou définit le nombre de caractères sélectionnés dans la zone de texte.

TextBox

P

SelectedText

Obtient ou définit une valeur indiquant la couleur du texte sélectionné dans le contrôle.

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 sélection et non la souris.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

21 - 53

Ateliers Windows Forms

4.5. Sélection et édition de texte

Objectif

Analyser une chaîne de caractères. Localiser dans une chaîne de caractères des chiffres. Localiser dans une chaîne de caractères des chiffres pairs. Créer une méthode booléenne 'estChiffrePair' permettant de savoir si tel caractères transmis représente ou pas un chiffre divisible par 2.

Résultat attendu

ou pas un chiffre divisible par 2. Résultat attendu Traitement effectué Analyser une chaîne de caractères

Traitement effectué

Analyser une chaîne de caractères afin de détecter la présence du premier chiffre pair et afficher sa position dans l’étiquette faisant office de barre détat.

Eléments utiles

Elément Type Membre Description

string

P

Length

Obtient le nombre de caractères dans cette instance.

char

M

IsDigit

Indique si un caractère Unicode est classé dans la catégorie des chiffres décimaux.

double

M

Parse

Convertit la représentation sous forme de chaîne d'un nombre en nombre en virgule flottante double précision équivalent.

string

M

Format

Permet la mise en forme de chaînes de caractères. Remplace chaque élément de mise en forme dans un String spécifié par l'équivalent textuel de la valeur d'un objet correspondant.

Si vous avez du temps

Créer 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 chaîne.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

22 - 53

Ateliers Windows Forms

4.6. Sélection et édition de texte (évolution)

Objectif

Analyser une chaîne de caractères et gérer des compteurs

Résultat attendu

Démarrage de l'application

Premier Clic

attendu Démarrage de l'application Premier Clic Avant dernier Clic Dernier Clic Traitement effectué

Avant dernier Clic

Dernier Clic

Premier Clic Avant dernier Clic Dernier Clic Traitement effectué Analyser une chaîne de caractères

Traitement effectué

Analyser une chaîne de caractères afin de détecter la présence de tous les chiffres pairs et afficher leurs positions dans l’étiquette faisant office de barre d'état.

Dans le cas contraire, afficher un message adéquat. Après 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é localisés le bouton reprend son libellé initial.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

23 - 53

Ateliers Windows Forms

4.7. Méthode NomPropre

Objectif

Créer une classe proposant une méthode intitulée NomPropre.

Résultat attendu

une méthode intitulée NomPropre. Résultat attendu Après avoir cliqué sur le bouton 'Nom Propre'

Après avoir cliqué sur le bouton 'Nom Propre'

Après avoir cliqué sur le bouton 'Nom Propre' Traitement effectué Le fait de cliquer sur le

Traitement effectué

Le fait de cliquer sur le bouton 'Nom Propre' a pour effet d'invoquer une méthode NomPropre d'une classe que vous aurez créée dans ce but. Vous transmettez à la méthode le contenu de votre zone de texte, et vous affectez le résultat de votre méthode au contenu de votre zone de texte.

Eléments utiles

Elément Type Membre Description

string

M

Substring Extrait une sous-chaîne de l'instance spécifiée.

char

M

ToUpper Retourne une copie de String en majuscules.

Si vous avez du temps

Améliorer votre méthode afin qu’elle transforme la première lettre de chaque mot en majuscule.

transforme la première lettre de chaque mot en majuscule. OFPPT Travaux Pratiques Proposé par :EL MOUTTAKI

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

24 - 53

Ateliers Windows Forms

5. Fichiers Texte

5.1. Bloc-Note simplifié

Objectif

Créer une application permettant à l'utilisateur de saisir un texte qu'il sera en mesure d'enregistrer puis d'ouvrir lors d'une prochaine utilisation.

Résultat attendu

lors d'une prochaine utilisation. Résultat attendu Traitement effectué Utiliser un contrôle de type TextBox

Traitement effectué

Utiliser un contrôle 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 même temps que la fenêtre. Quand aux boutons de commandes, il devront toujours se situer en bas à droite du formulaire.

Eléments utiles

Elément

Type Membre

Description

System.IO

C

StreamWriter Implémente TextWriter pour écrire les caractères 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. Ferme le StreamWriter en cours et le flux sous-

StreamWriter M

Close

System.IO

C

jacent. StreamReader Implémente TextReader qui lit les caractères à 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 libère les ressources du système associées au lecteur.

Travaux Pratiques

Module :

Page

OFPPT

Proposé par :EL MOUTTAKI

Programmation Événementielle

25 - 53

Ateliers Windows Forms

Si vous avez du temps

Réalisez le même atelier en utilisant un contrôle RichTextBox à la place du contrôle TextBox. Le contrôle RichTextBox est au WordPad de Windows ce que le TextBox est au Bloc-Notes.

Eléments utiles

Elément

RichTextBox M

Type Membre Description

LoadFile Charge le contenu d'un fichier dans le contrôle RichTextBox.

RichTextBox M

SaveFile Enregistre le contenu du contrôle RichTextBox dans un fichier.

5.2. Post-It

Objectif

Créer une application permettant à l'utilisateur de saisir un texte qu'il sera sauvegardé

automatiquement à la fermeture du formulaire.

Résultat attendu

à la fermeture du formulaire. Résultat attendu Traitement effectué Cette application est très proche des

Traitement effectué

Cette application est très proche des deux ateliers précédents, si ce n'est que le fichier texte est chargé automatiquement en même temps de l'application. La sauvegarde s'effectue lors de la fermeture du programme. Notez que la barre de titre de la fenêtre est de type 'Barre d'outils' ou 'Palette Windows'.

Eléments utiles

Elément

Type

Membre

Description

Form

P

FormBorderStyle

Obtient ou définit 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

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

26 - 53

Ateliers Windows Forms

5.3. Fichier Séquentiel

Objectif

Savoir utiliser un fichier séquentiel en lecture / écriture. Utiliser les instructions de recherche dans une chaîne de caractères.

Résultat attendu

recherche dans une chaîne de caractères. Résultat attendu Votre application sera validée sur un résultat

Votre application sera validée sur un résultat strictement identique à celui présenté ci- dessus.

Traitement effectué

Analyser et traiter un gros fichier texte (ascii) afin de l’exploiter dans vos applications futures. Ce fichier, un document d’une cinquantaine de pages, contient un QCM contenant plus de 500 questions/réponses. Votre travail consiste à parcourir le fichier dont voici un extrait :

consiste à parcourir le fichier dont voici un extrait : OFPPT Travaux Pratiques Proposé par :EL

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

27 - 53

Ateliers Windows Forms

1.

Compter et afficher le nombre de questions trouvées, 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 réel de lignes valides.

4. Compter et afficher le nombre total de caractères dans le fichier source (y compris les espaces).

5. Compter et afficher le nombre réel de caractères valides (espaces exclus).

6. Afficher à la demande, le fichier texte résultat dans le bloc note,

Le fichier produit en sortie doit correspondre à l'exemple suivant:

en sortie doit correspondre à l'exemple suivant: Notez que l'on commence par écrire la date de

Notez que l'on commence par écrire la date de création en entête du fichier.

Eléments utiles

Elément

Type Membre

Description

 

System.IO

C StreamWriter Implémente TextWriter pour écrire les caractères

 

System.IO

dans un flux selon un codage particulier. Permet entre autre d'écrire dans un fichier texte. C StreamReader Implémente TextReader qui lit les caractères à

 

StreamWriter

M WriteLine

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 chaîne 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 caractères à partir du flux en

 
 

cours

 

et

retourne

les

données

 

sous

forme

 

de

chaîne.

 

DateTime

P Now

string

P Length

Obtient un DateTime correspondant à la date et à l'heure locales actuelles sur cet ordinateur.

string

M IndexOf

Obtient le nombre de caractères dans cette instance.

 

string

M Substring

Retourne la position d'une chaîne de caractères dans une autre. Extrait une sous-chaîne de l'instance spécifiée.

 

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

28 - 53

Ateliers Windows Forms

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 libère les ressources du système associées au

System.Diagnostics C Process Fournit l'accès à des processus locaux ainsi que distants, et vous permet de démarrer et d'arrêter des processus système locaux.

Process

M Start

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 rencontrée 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:

certaines imperfections dont voici quelques exemples: Modifiez votre algorithme pour remédier au problème. OFPPT

Modifiez votre algorithme pour remédier au problème.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

29 - 53

Ateliers Windows Forms

6. Enrichissement Interface Graphique

6.1. Bloc-Note amélioré

Objectif

Mettre en œuvre les dialogues communes aux applications Windows. (Ouvrir, Enregistrer

sous

,

Polices de caractères, Couleurs

)

Résultat attendu

sous , Polices de caractères, Couleurs ) Résultat attendu Après avoir cliqué sur le bouton 'Enregistrer'
sous , Polices de caractères, Couleurs ) Résultat attendu Après avoir cliqué sur le bouton 'Enregistrer'

Après avoir cliqué sur le bouton 'Enregistrer'

Après avoir cliqué sur le bouton 'Enregistrer' OFPPT Travaux Pratiques Proposé par :EL MOUTTAKI

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

30 - 53

Ateliers Windows Forms

Après avoir cliqué sur le bouton 'Caractères'

Après avoir cliqué sur le bouton 'Caractères' Après avoir cliqué sur un bouton 'Couleur '

Après avoir cliqué sur un bouton 'Couleur

'

Après avoir cliqué sur un bouton 'Couleur ' Traitement effectué Fonctionnalité associée aux boutons:

Traitement effectué

Fonctionnalité associée aux boutons:

Nouveau Crée 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 réponse de l'utilisateur, et selon les besoins le dialogue 'Enregistrer sous' est utilisé.

Affiche le dialogue 'Ouvrir'. Même remarque que précédemment concernant le document courant.

Ouvrir

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

31 - 53

Ateliers Windows Forms

Enregistrer

Enregistre le document en cours. Si le document en cours a déjà fait l'objet d'enregistrements précédents, la sauvegarde se fait directement sans aucune confirmation. S'il s'agit du premier enregistrement, la boite de dialogue 'Enregistrer sous' s'affiche.

Caractères

Permet de modifier la police de caractères de la zone de saisie. La boite de dialogue 'Police' est utilisée. A l'ouverture, elle reprend les caractéristiques 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 Même chose pour la couleur de fond de la zone de texte.

Eléments utiles

Elément

Type Membre

Description

TextBox

P

Modified

Obtient ou définit une valeur qui indique que le contrôle zone de texte a été modifié par l'utilisateur depuis la création du contrôle ou la précédente définition du contenu du contrôle.

MessageBox

M

Show

Affiche une boite de message, avec ou sans i cône, ave c un ou pl usi eurs bout ons, avec ou s ans t i t re pers onnal i sé.

FontDialog

SaveFileDialog Représente une boîte de dialogue commune qui permet à l'utilisateur de spécifier les options d'enregistrement d'un fichier.

OpenFileDialog Représente une boîte de dialogue commune pour afficher le contrôle qui permet à l'utilisateur d'ouvrir un fichier.

Représente une boîte de dialogue commune affichant la liste des polices actuellement installées sur le système.

Windows.Forms C ColorDialog Représente une boîte de dialogue commune affichant les couleurs disponibles, ainsi que les contrôles permettant à l'utilisateur de définir des couleurs personnalisées. CommonDialog M ShowDialog Affiche le dialogue concerné

Windows.Forms C

Windows.Forms C

Windows.Forms C

FileDialog

P

FileName

Obtient ou définit une chaîne comportant le nom de fichier sélectionné dans la boîte de dialogue

 

Filter

FileDialog

P

Fichier. (Enregistrer sous ou Ouvrir) Obtient ou définit la chaîne de filtrage des noms de fichier en cours, qui détermine les choix disponibles dans les zones « Enregistrer sous » ou

 

« Types de fichiers » de la boîte de dialogue.

 

P

Font

FontDialog

 
 

P

Color

ColorDialog

Obtient ou définit la police sélectionnée. Obtient ou définit la couleur sélectionnée par l'utilisateur.

Si vous avez du temps

Mettez en œuvre la gestion de erreurs afin de prévenir tout problème d'ouverture ou d'enregistrement de fichier.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

32 - 53

Ateliers Windows Forms

6.2. Menus déroulants, Barre d'outils et Barre d'Etat

Objectif

Améliorer l'interface graphique de l'atelier précédent en utilisant des éléments normalisés. Les boutons seront remplacés par des menus déroulants de type MenuStrip, ainsi que par une barre d'outils de type ToolStrip. Utiliser pour la barre d'état un contrôle StatusStrip offrant plus de possibilités qu'un simple Label.

Et si vous êtes curieux, ne manquez pas de découvrir les vertus du ToolStripContainer

Résultat attendu

les vertus du ToolStripContainer Résultat attendu Traitement effectué Cet atelier comporte les mêmes

Traitement effectué

Cet atelier comporte les mêmes traitements que ce du précédent. Seule l'interface est améliorée. Le menu Fichier comporte les options suivantes: Nouveau, Ouvrir, Enregistrer, Quitter.

Les différents boutons reproduisent toutes les fonctionnalités des menus. Notez l'utilisation d'une barre d'état permettant d'afficher non seulement un message mais également des informations système telles que la date et l'heure.

Selon les actions effectuées, la barre d'état affichera des messages appropriés (Enregistrement effectué, Ouverture du fichier )

Les boutons seront dotés d'info-bulles expliquant leur fonction.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

33 - 53

Ateliers Windows Forms

6.3. Menus Dynamiques

Objectif

Il s'agit de mettre en œuvre des menus déroulants par programme.

Résultat attendu

des menus déroulants par programme. Résultat attendu Traitement effectué Au lancement de l'application,

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 'Prénoms' est vide. Une barre d'outils dotée de 3 boutons propose les fonctionnalités suivantes:

'Prénoms' est un bouton bascule permettant de charge et décharger une liste de prénoms dans le menu du même nom.

décharger une liste de prénoms dans le menu du même nom. Une fois le menu chargé,

Une fois le menu chargé, la sélection d'un prénom provoque son affichage dans le formulaire et sont repérage (Checked) dans le menu. Un deuxième click sur le bouton 'Prénom' supprime les éléments du menu 'Prénoms'.

'Polices' est un bouton bascule faisant apparaître un troisième menu contenant la liste des polices de caractères installées sur le système. Le choix d'une police dans le menu provoque sont repérage (Checked) et son application au texte du prénom affiché. Lorsque le menu Police est affiché, le bouton correspondant permet de le détruire.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

34 - 53

Ateliers Windows Forms

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

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

Eléments utiles

Elément

Membre P MainMenuStrip

Description

Form

Représente la structure de menus d'un

 

formulaire.

Cette

propriété

est

de

type

Forms

C MenuStrip

MenuStrip. Fournit un système de menus d'un formulaire. (Peut être assimilé à une barre de

Form

menus). C ToolStripMenuItem Représente un élément individuel affiché dans un MainMenuStrip ou dans un ContextMenuStrip. ToolStripMenuItem est

MainMenuStrip,

M DropDownItems

une classe dérivée de ToolStripItem Obtient une valeur qui indique la collection

ContextMenuStrip ToolStripMenuItem P Text

d'objets associée au menu. Obtient ou définit une valeur qui indique la

légende de l'élément de menu. Obtient ou définit une valeur qui indique si une coche apparaît en regard du texte de

ToolStripMenuItem P Checked

ToolStripMenuItem E Click

l'élément de menu. Se produit suite à un clic sur l'élément de menu ou à la sélection de cet élément à l'aide

 

DropDownItems

M Add

d'une touche de raccourci ou d'une touche d'accès rapide. Ajoute un nouvel élément à la collection.

DropDownItems

M Clear

Drawing

C FontFamily

Supprime tous les objets de la collection d'éléments de menu. Définit un groupe de polices dont le design

 

FontFamily

P Families

de base est similaire, mais qui comportent des variations de styles. Exemple : 'Arial' Retourne un tableau contenant tous les

 

objets FontFamily associés au contexte graphique en cours.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

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,

ToolStripMenuItem

P CheckOnClick

Obtient ou définit une valeur indiquant si l’élément doit automatiquement apparaître activé et désactivé lorsque l'utilisateur clique dessus.

ToolStripButton,

ToolStripMenuItem

P Checked

Obtient ou définit une valeur indiquant si l’élément est coché.

6.4. Menus Contextuels

Objectif

A partir de l'atelier précédent, mettre en œuvre un menu contextuel ou PopUp.

Résultat attendu

en œuvre un menu contextuel ou PopUp. Résultat attendu Traitement effectué Il est désormais possible

Traitement effectué

Il est désormais possible d'afficher un menu contextuel par clic droit sur le prénom 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 renseignés lors de la conception de l'application. En choisissant une couleur, celle-ci s'applique au prénom affiché.

Le sous-menu 'Polices' est dynamique. Celui-ci est alimenté et vidé par le bouton bascule 'Polices'. La police sélectionnée s'applique au prénom affiché.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

36 - 53

Ateliers Windows Forms

Ateliers Windows Forms Eléments utiles Elément Type Membre Description Forms C ContextMenuStrip

Eléments utiles

Elément

Type Membre

Description

Forms

C

ContextMenuStrip Représente un menu contextuel.

ContextMenuStrip P

DropDownItems Obtient une valeur qui indique la collection d'objets associée au menu.

DropDownItems M

Add

Ajoute un novel élément de menu à la collection.

DropDownItems M

Clear

Supprime tous les objets de la collection d'éléments de menu.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

37 - 53

Ateliers Windows Forms

6.5. Barres de Défilement (HScrollBar et VScrollBar)

Objectif

Savoir mettre en oeuvre des barres de défilements (ascenseurs) et afficher des couleurs variables.

Résultat attendu

et afficher des couleurs variables. Résultat attendu Traitement effectué Effectuer le mélange des couleurs à

Traitement effectué

Effectuer le mélange des couleurs à partir des trois fondamentales Rouge, Vert et Bleu. La couleur résultant du mélange des trois est affichée à l'aide d'une quatrième étiquette au bas de la feuille.

En agissant sur chaque barre de défilement on fait varier la couleur correspondante et la couleur résultante.

Avec un peu de réflexion quelques lignes de code suffisent. L'exemple ci-dessus en compte 4. Bonne réflexion.

Eléments utiles

Elément

Type Membre

Description

ScrollBar

P

Value

Obtient ou définit une valeur numérique qui représente la position actuelle de la zone de défilement sur le contrôle barre de défilement.

ScrollBar

E

Scroll

Se produit lorsque la case de défilement a été déplacée

 

par une action de la souris ou du clavier.

Color

M

FromArgb

Crée une structure Color à partir des valeurs des quatre composants ARVB 8 bits (alpha, rouge, vert et bleu).

Si vous avez du temps

Il serait intéressant d'afficher sous forme numérique la valeur de chaque couleur, en décimal et pourquoi pas en Hexadécimal? Il est également possible de faire varier une barre de défilement lui assignant une valeur numérique. Donner la possibilité à l'utilisateur de taper chaque couleur sous forme de chiffre dans une zone de texte et d'ajuster les éléments de la fenêtre en fonction des valeurs saisies.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

38 - 53

Ateliers Windows Forms

6.6. Curseurs (TrackBar)

Objectif

Adapter l’atelier précédent en utilisant des contrôle de type TrackBar et NumericUpDown.

Résultat attendu

de type TrackBar et NumericUpDown . Résultat attendu Traitement effectué En jouant sur les curseurs les

Traitement effectué

En jouant sur les curseurs les différentes couleurs s'ajustent automatiquement ainsi que les valeurs numériques correspondantes. La modification d'une valeur numérique provoque le même effet sur las différents éléments.

Eléments utiles

Elément

Type Membre

Description Obtient ou définit une valeur indiquant

TrackBar

P

Orientation

 

l'orientation horizontale ou verticale de la barre

TrackBar et NumericUpDown

P

Value

de suivi. Obtient ou définit une valeur numérique qui représente la position actuelle du curseur sur la

TrackBar et NumericUpDown TrackBar et NumericUpDown

P

Minimum

Obtient ou définit la limite inférieure de la plage avec laquelle cette TrackBar fonctionne.

P

Maximum

Obtient ou définit la limite supérieure de la plage avec laquelle cette TrackBar fonctionne.

TrackBar

E

Scroll

barre de suivi. Se produit lorsqu'une action de la souris ou du clavier déplace le curseur.

NumericUpDown E

ValueChanged Se produit lorsque la propriété Value a été modifiée.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

39 - 53

Ateliers Windows Forms

6.7. ListView et ImageList

Objectif

Mettre en œuvre et peupler un contrôle ListView, puis gérer les différents modes d’affichages proposés par le contrôle.

Résultat attendu

proposés par le contrôle. Résultat attendu Traitement effectué Le constructeur du formulaire se

Traitement effectué

Le constructeur du formulaire se chargera d’alimenter de contrôle ListView avec des données. (Les icônes vous sont fournies par votre formateur)

Les différents boutons permettront de changer le mode d’affichage de la liste (Grandes icônes, petites icônes, Liste et Détail).

liste (Grandes icônes, petites icônes, Liste et Détail). Vous remarquerez que le bouton correspondant à

Vous remarquerez que le bouton correspondant à l’affichage en cours est désactivé. La ligne de l’élément en cours est entièrement sélectionnée.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

40 - 53

Ateliers Windows Forms

Eléments utiles

Elément

Type Membre

Description

ListView

P

Columns

Collection contenant tous les en-têtes de colonne (de type ColumnHeader) qui apparaissent dans le contrôle.

ListView

P

Items

Collection qui contient tous les éléments (de type ListViewItem) du contrôle.

Items

M

Add

Ajoute un élément à la collection.

ListViewItem P

SubItems

Obtient une collection contenant tous les sous- éléments de l'élément.

ListViewItem P

ImageIndex

Obtient ou définit l'index de l'image qui s'affiche pour l'élément.

SubItems

M

Add

Ajoute un sous-élément à la collection.

ListView

P

LargeImageList Obtient ou définit le ImageList à utiliser lors de l'affichage des éléments sous forme de grandes icônes dans le contrôle.

ListView

P

SmallImageList Obtient ou définit l'objet ImageList à utiliser lors de l'affichage des éléments sous forme de petites icônes dans le contrôle.

ListView

P

View

Obtient ou définit la façon d'afficher les éléments dans le contrôle.

ListView

P

FullRowSelect Obtient ou définit une valeur qui indique si le fait de cliquer sur un élément sélectionne aussi tous ses sous-éléments.

ImageList

P

Images

Collection des images (de type ImageCollection) stockées dans cette liste d'images.

ImageList

P

ImageSize

Obtient ou définit la taille des images dans la liste d'images.

Si vous avez du temps

Faites en sorte que les quatre boutons utilisent le même gestionnaire d’évènement. La propriété Tag peut être utilisée pour mémoriser la vue (View) qui sera appliquée par chacun des boutons.

Le fait de double-cliquer sur un élément affiche le dialogue suivant.

Exemple : Double-Clic sur Dupont

le dialogue suivant. Exemple : Double-Clic sur Dupont Si vous avez vraiment du temps Pourquoi ne

Si vous avez vraiment du temps

Pourquoi ne pas prévoir la modification des informations « Qualité » et « Caractère » ?

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

41 - 53

Ateliers Windows Forms

6.8. TreeView - Médiathèque

Objectif

Découvrir les fonctionnalités et les subtilités du contrôle TreeView. Une instance de ce type est constituée d’une collection Nodes d’objets de type TreeNode. Chaque objet TreeNode possède lui-même une collection Nodes de ses nœuds enfants, et ainsi de suite. Pour ajouter un nœud il suffit d’invoquer la méthode Add de la collection Nodes à laquelle vous voulez rattacher ce nouvel élément. Pour supprimer un noeud, appliquez-lui la méthode Remove.

L’IDE Visual Studio.NET vous procure un assistant permettant de peupler votre TreeView en mode Design. Cet assistant est accessible à partir de la palette des propriétés.

Résultat attendu

à partir de la palette des propriétés. Résultat attendu Traitement effectué Créer un formulaire doté d’un
à partir de la palette des propriétés. Résultat attendu Traitement effectué Créer un formulaire doté d’un

Traitement effectué

Créer un formulaire doté d’un contrôle TreeView, d’une StatusBar et de 3 contrôles de type Button. Au démarrage de l’application votre TreeView contiendra les données présentées ci- dessus. Quatre dossiers (Livre, CD, DVD et Vidéo) représenteront les types de médias de votre Médiathèque. Chaque dossier contiendra quelques éléments. Vous noterez que chaque type de média est doté d’un icône adaptée.

Le bouton « Développer » permettra comme son nom l’indique de développer l’ensemble de l’arborescence, alors que le bouton « Réduire » fera le contraire.

La barre d’état sera dotée de deux volets (Panels). Le premier volet affichera le type de média sélectionné. Le deuxième affichera le nombre d’éléments dans la catégorie sélectionnée ou le nom du média selon le cas :

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

42 - 53

Ateliers Windows Forms

Ateliers Windows Forms Il va sans dire que vos contrôle devront se déplacer / redimensionner lors

Il va sans dire que vos contrôle devront se déplacer / redimensionner lors du redimensionnent de la fenêtre.

Le dernier bouton est le plus intéressant.

Lorsqu’un type de média sera sélectionné (Dossier), le bouton s’intitulera « Ajouter » et permettra d’ajouter un média dans la catégorie en question.

Lorsqu’un média sera sélectionné, le bouton s’intitulera « Supprimer » et permettra de supprimer ce média après confirmation de l’utilisateur.

Ajout d’un nouveau média

confirmation de l’utilisateur. Ajout d’un nouveau média OFPPT Travaux Pratiques Proposé par :EL MOUTTAKI

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

43 - 53

Ateliers Windows Forms

Suppression d’un média

Ateliers Windows Forms Suppression d’un média Eléments utiles Elément Type Membre Description  

Eléments utiles

Elément

Type Membre

Description

 

TreeView P

HideSelection

Obtient ou définit une valeur indiquant si le nœud d'arbre sélectionné reste affiché en surbrillance même quand l'arborescence a perdu le focus.

TreeView P

ImageList

Obtient ou définit l’ImageList qui contient les objets Image utilisés par les nœuds d'arbre.

 

TreeView P

Nodes

Obtient la collection des nœuds d'arbre assignés au contrôle TreeView.

 

Nodes

P

Count

Nombre d’éléments de la collection.

 

TreeView P

ImageIndex

Obtient ou définit la valeur d'index de liste de l'image par défaut qui est affichée par les nœuds d'arbre.

TreeView P

SelectedImageIndex Obtient ou définit la valeur d'index de liste de

 
 

l'image

affichée

lorsqu'un

nœud

d'arbre

est

sélectionné.

 

Nodes

M

Add

Ajoute un nouveau nœud d'arbre à la collection.

 

Nodes

M

Remove

Supprime le nœud d'arbre spécifié de la collection de nœuds d'arbre.

TreeView P

SelectedNode

Obtient ou définit le nœud d'arbre qui est actuellement sélectionné dans le contrôle TreeView.

TreeNode P

Text

Obtient ou définit le texte affiché dans l'étiquette du nœud d'arbre.

 

TreeNode P

Parent

Obtient le nœud d'arbre parent du nœud d'arbre en cours.

TreeNode P

ImageIndex

Obtient ou définit la valeur d'index de liste de l'image affichée quand le nœud d'arbre est dans l'état non sélectionné.

TreeNode P

SelectedImageIndex Obtient ou définit la valeur d'index de liste de l'image affichée quand le nœud d'arbre est dans l'état sélectionné.

TreeNode M

Expand

Développe le nœud d'arbre.

 
 

TreeNode M

Collapse

Réduit le nœud d'arbre.

 

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

44 - 53

Ateliers Windows Forms

TreeView M

CollapseAll

Réduit tous les nœuds d'arbre.

TreeView M

ExpandAll

Développe tous les nœuds d'arbre.

TreeView E

AfterSelect

Se produit après la sélection du nœud d'arbre.

Si vous avez du temps

Ajouter la possibilité de renommer un média.

Mettez en ouvres des menus contextuels proposant les options appropriées selon le nœud sélectionné.

Permettez à l’utilisateur de supprimer un média au clavier à l’aide de la touche {Suppr}, renommer un média à l’aide de la touche {F2}

6.9. Glisser Déplacer (Drag & Drop)

Objectif

Découvrir les base du glisser déplacer.

Résultat attendu

Découvrir les base du glisser déplacer. Résultat attendu Traitement effectué L’utilisateur de votre application

Traitement effectué

L’utilisateur de votre application pourra faire glisser le contenu de la première zone de texte vers la seconde ou vers la corbeille.

Zone de texte1 vers zone de texte2 : le texte sera déplacé de la première zone vers la seconde.

Zone de texte1 vers zone de texte2, touche {Ctrl} maintenue : le texte sera copié de la première zone vers la seconde.

Zone de texte1 vers la corbeille : le texte sera effacé de la première zone. La corbeille changera d’aspect pour indiquer qu’elle contient le texte venant d’y être déposé.

qu’elle contient le texte venant d’y être déposé. Un clic droit sur la corbeille proposera un

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, l’option restaurer devra être désactivée.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

45 - 53

Ateliers Windows Forms

Avant restauration

Ateliers Windows Forms Avant restauration Après restauration Eléments utiles Elément Type Membre Description

Après restauration

Ateliers Windows Forms Avant restauration Après restauration Eléments utiles Elément Type Membre Description

Eléments utiles

Elément

Type

Membre

Description

Control

P AllowDrop Obtient ou définit une valeur indiquant si le contrôle peut accepter des données que l'utilisateur

 

y fait glisser.

Control

E MouseDown Se produit lorsque le pointeur de la souris se trouve sur le contrôle 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

Démarre une opération glisser-déplacer.

 

DragDropEffects

P

Copy

Les

données sont

copiées

dans la

cible

de

 

déplacement.

 

DragDropEffects

P

Move

Les données issues de la source de glissement sont déplacées vers la cible de déplacement.

Control

E

DragEnter

Se produit lorsqu'un objet est déplacé dans les limites d'un contrôle.

Control

E

DragDrop

Se produit lors d'une opération de glisser-déplacer.

DragEventArgs

P

Data

Obtient les données associées à cet événement.

 

Data

M

GetData

Extrait les données associées au format de données spécifié.

Si vous avez du temps

Faites en sorte que le glisser déplacer puisse fonctionner à partir de la deuxième zone de texte. L’option « Restaurer » de la corbeille devra rétablir son contenu dans la zone de texte appropriée.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

46 - 53

Ateliers Windows Forms

6.10. Drag & Drop Images

Objectif

Mise en œuvre du glisser déplacer pour des ressources de type graphique.

Résultat attendu

pour des ressources de type graphique. Résultat attendu Traitement effectué Des pictogrammes de type PictureBox

Traitement effectué

Des pictogrammes de type PictureBox sont regroupés dans un Panel. Votre application permet de faire glisser un pictogramme dans la zone de droite afin de le dessiner.

un pictogramme dans la zone de droite afin de le dessiner. Le bouton « Effacer »

Le bouton « Effacer » permet la remise à blanc de la surface de dessin.

OFPPT

Travaux Pratiques

Proposé par :EL MOUTTAKI

Module :

Programmation Événementielle

Page

47 - 53

Ateliers Windows Forms

Les types de contrôle mis en œuvre sont de type Panel et PictureBox. Les éléments à utiliser sont sensiblement les mêmes que pour le tp précédent. La liste suivante ne mentionne que les éléments spécifiques à cet exercice.

Eléments utiles

Elément

Type Membre

Description

PictureBox

P

Image

Obtient ou définit l'image que PictureBox affiche.

Control

M

CreateGraphics Crée l'objet Graphics permettant de dessiner sur le contrôle concerné.

Data

M

GetData

Extrait les données associées au format de données spécifié.

DataFormats

P

Bitmap

Spécifie un format de bitmap Windows. Ce champ static est en lecture seule.

Control

M

PointToClient Calcule l'emplacement du point spécifié à l'écran en coordonnées client.

Graphics

M

DrawImage