Vous êtes sur la page 1sur 43

Programmation vnementielle

Sommaire
1. Introduction......................................................................................................................5
2. Concepts de la programmation vnementielle...............................................................5
2.1. Dfinir les principes de la programmation vnementielle......................................5
2.1.1. Principes gnraux de la gestion des vnements.............................................5
2.1.2. La boucle de gestion des vnements...............................................................5
2.2. Dfinir la notion dvnement..................................................................................6
2.3. Dfinir les procdures vnementielles....................................................................7
2.3.1. Procdures vnementielles dans le cas dun protocole non embarqu............7
2.3.2. Procdures vnementielles dans le cas des protocoles embarqus..................7
3. Environnement de dveloppement du langage utilis :...................................................8
3.1. Introduction..............................................................................................................8
3.2. Ncessit dun langage intermdiaire.......................................................................8
3.3. Prsentation du Framework .Net..............................................................................9
3.3.1. Le Common Language Specification................................................................9
3.3.2. Common Language Runtime..........................................................................10
3.4. Quest ce que le C# ?..............................................................................................10
3.4.1. Un langage simple et performant pour .NET..................................................10
4. Les bases du C#..............................................................................................................11
4.1. Environnement de dveloppement.........................................................................11
4.2. Installation de Visual studio 2008...........................................................................11
4.3. Cration dun projet C#..........................................................................................11
1. Prsentation des composants dune application vnementielle...................................14
1.1. Cration dun nouveau projet.................................................................................14
1.2. Utilisation de lexplorateur de solutions.................................................................14
1.3. Excution du projet dans lenvironnement de dveloppement...............................15
1.4. Gnration dun fichier excutable pour le projet..................................................16
1.5. Excution de lapplication en dehors de lenvironnement de dveloppement.......16
1.6. Fermeture du projet et fermeture de Visual Studio .NET.......................................16
2. Prsenter les formulaires, les modules standards et les modules de classes..................16
2.1 Le concepteur Windows Form...................................................................................16
3. Rgles de ralisation des interfaces...............................................................................18
3.1. Les principaux objets dune interface graphique....................................................18
3.1.1 Cration dune interface utilisateur.....................................................................18
3.1.2 Dfinition des proprits des contrles...............................................................18
3.1.3 Ajout de code pour les contrles.........................................................................19

Page 1
Programmation vnementielle

1. Elments de base de la programmation vnementielle................................................21


1.1 Proprits, mthodes et vnements...........................................................................21
1.2 Cration dun formulaire............................................................................................21
1.3 Dfinir les proprits dun formulaire........................................................................22
2. Contrles de base...........................................................................................................23
2.1 Composant Label........................................................................................................25
2.2 Composant TextBox...................................................................................................25
2.3 Composant Button......................................................................................................25

Les Listes..................................................................................................................................26
1. Le contrle ListView :............................................................................................26
1.1 Liste avec sous lments.........................................................................................26
1.2 Comment remplir les en-ttes de colonnes?...........................................................26
1.3 Comment remplir le tableau?.................................................................................27
1.4 Comment relire une cellule, rcrire dans une cellule?............................................28
1.5 Comment intercepter le numro de la ligne qui a t clique par lutilisateur (et
lafficher)?.........................................................................................................................29
1.6 Supprimer une ligne clique par lutilisateur :.......................................................29

Les conteneurs..........................................................................................................................30
1. Dfinir la notion de conteneur....................................................................................30
2. Prsenter les principes de placement des contrles....................................................30
2.1 GroupBox et Panel..................................................................................................30
2.2 PictureBox..............................................................................................................31
2.3 TabControl..............................................................................................................31
2.4 SplitContainer.........................................................................................................32
2.5 LayoutPanel............................................................................................................32
2.6 Groupes de contrles en VB .Net...........................................................................33

Utiliser les barres dtats et barre doutils, les menus principaux et contextuels.....................35
1. Introduction :..........................................................................................................35
2. Cration de menus..................................................................................................35
3. Terminologie des menus.........................................................................................35
4. Principes de cration de menus..............................................................................36
5. Cration dun menu................................................................................................36
6. Modification des lments dun menu....................................................................38
1.1 Pour dplacer un lment de menu.........................................................................38

Page 2
Programmation vnementielle

1.2 Pour supprimer un lment de menu......................................................................38


1.3 Pour modifier la proprit Text dun lment de menu..........................................38
1.4 Pour modifier la proprit Name des lments de menu laide de lditeur de
noms 38
1.5 Pour dsactiver un lment de menu......................................................................39
1.6 Pour masquer un lment de menu.........................................................................39
7. Amliorer votre menu.............................................................................................39
7.1 Pour ajouter une coche un lment de menu.......................................................40
7.2 Pour affecter une touche de raccourci un lment de menu................................41
7.3 Pour affecter une touche daccs rapide un lment de menu.............................41
7.4 Pour ajouter une barre sparatrice un lment de menu......................................41

Page 3
Programmation vnementielle

Chapitre 1 :

Concepts fondamentaux de la
programmation
vnementielle

Page 4
Programmation vnementielle

1. Introduction
Lobjectif de ce module est de prsenter les concepts fondamentaux de la programmation
vnementielle ainsi que les lments ncessaires une bonne prise en main de la plate forme
de dveloppement Microsoft .Net ainsi que des environnements classiques qui y sont ddis.

2. Concepts de la programmation vnementielle


2.1. Dfinir les principes de la programmation vnementielle
La programmation vnementielle se diffrencie de la programmation classique par le fait
suivant ainsi que les principes gnraux qui en dcoulent.
En programmation classique (procdurale) une application est lance et elle sexcute
linairement moins dtre interrompue par quelque chose dexceptionnel.
A chaque tape de son excution lapplication garde le contrle et dcide si elle va
interagir ou non avec lutilisateur. A ltape finale lapplication termine et rend le contrle au
systme dexploitation.
Dans le cadre de la programmation vnementielle lapplication sexcute puis elle donne
le contrle lutilisateur. Autrement dit elle neffectue gnralement aucune tche excepte
celle dattendre que lutilisateur ragisse et la sollicite. Cette sollicitation se fait par le biais
des vnements.

2.1.1. Principes gnraux de la gestion des vnements

On procde la cration des principaux objets graphiques de lapplication


vnementielle et on dfinit les mthodes de gestion des vnements susceptibles dintresser
chacun de ces objets.
On lance la boucle de gestion des vnements. Lapplication se met en attente des
vnements. Elle neffectue aucune tche delle-mme, lapplication devient esclave de
lutilisateur

2.1.2. La boucle de gestion des vnements

La boucle de gestion des vnements se prsente sous la forme dune boucle infinie qui
- Rcupre les vnements
- Appelle les fonctions gestionnaires pour chaque objet

Page 5
Programmation vnementielle

2.2. Dfinir
la notion

dvnement
Un vnement cest quelque chose qui se produit durant lexcution dune
application. En programmation structure et pour des environnements du type MSDOS les
interruptions systmes donnent une ide assez proche de la notion dvnement.
Lorsque quelque chose se produit au cours de lexcution de notre application, il faut
que :
Que lapplication soit informe que quelque chose sest produit
Que lapplication puisse ragir de faon adquate ce quelque chose
Les quelques exemples suivants sont des vnements classiques grs par la plupart des
applications prsentant des interfaces graphiques.
Appuyer ou relcher un bouton de la souris
Appuyer ou relcher une touche du clavier
Bouger la souris
La souris entre ou sort dune fentre
La fentre a chang de taille
Lutilisateur a cliqu sur un menu
Un vnement est parfois galement appel message qui est :
Envoy une application cible
Dclench chaque action lmentaire de lutilisateur

2.3. Df
inir
les

procdures vnementielles

Page 6
Programmation vnementielle

Au niveau de la gestion des vnements qui surviennent dans lexcution dune


application on distingue deux types de mthodes ou procdures vnementielles
Les procdures vnementielles relatives lapplication dun protocole non embarqu
(application des techniques de base de la gestion vnementielle)
Les techniques relatives lapplication dun protocole embarqu (cas des plates
formes de dveloppement modernes comme Microsoft .Net Framework)

Le cas nous intressant le plus est celui des protocoles embarqus, il demeure cependant
trs important de bien comprendre les deux principes

2.3.1. Procdures vnementielles dans le cas dun protocole non


embarqu
Imaginons quon crive une boucle de gestion dvnements pour des applicatifs non
standard tels quun jeu vido. Le scnario dutilisation ainsi que tous les objets figurant dans
le jeu tant lentire discrtion du dveloppeur un Framework pourrait difficilement grer la
boucle des vnements, ce moment l le dveloppeur crit un code similaire ceci :

while (True) {
event = GetNextEvent()
switch(event->type) {
case EVENT_E1 sur window_W1: // pseudo-code
foo_E1_W1();
break;
case EVENT_E2 sur window-W2:
foo_E2_W2();
break;
......

En ralit la tche est bien plus complexe car il faut prvoir tous les cas possible et
prendre en compte les diffrents types dobjets graphiques susceptibles de ragir aux mmes
vnements.

2.3.2. Procdures vnementielles dans le cas des protocoles embarqus

Dans le cas des protocoles embarqus le principe utilis est le suivant :


La boucle de gestion des vnements est prdfinie
Le contrle du dialogue est embarqu dans les objets graphiques.

A ce moment, la dtection des vnements se fait via


Les fonctions de Callback

Page 7
Programmation vnementielle

Les listeners
En Visual Basic .Net le mcanisme est implment au travers de procdures
vnementielles appeles gestionnaires dvnements

3. Environnement de dveloppement du langage utilis :


3.1. Introduction
Nous, humains, communiquons avec un langage complexe. En effet, notre
langage est compos de phrases, construites avec des mots qui sont eux-mmes
constitus de diffrentes lettres. Mais malheureusement pour nous, les ordinateurs,
eux, ne comprennent que des 1 et des 0. Le problme est donc de savoir comment
nous allons faire pour pouvoir communiquer avec eux, car notre but final est tout de
mme de programmer lordinateur afin dobtenir ce que nous voulons de lui. Tout
cela en gardant lesprit que programmer en binaire nest pas une alternative
envisageable.

3.2. Ncessit dun langage intermdiaire


Cest donc pour cette raison que lon a invent le langage de programmation :
afin de pouvoir communiquer avec la machine dans un langage un temps soit peu
comprhensible par lhumain, ce qui nest de toute vidence pas le cas du langage
binaire. Le langage de programmation est donc un langage mi-chemin entre notre
langage et celui de lordinateur. Grossirement, Cest un langage qui est
comprhensible la fois par lhomme et par le processeur de la machine.
Une fois notre code crit en langage de programmation, un logiciel appel
compilateur va se charger de le traduire en langage binaire comme indiqu sur le
schma ci-dessous. Le compilateur est une sorte de traducteur langage de
programmation vers le langage binaire.

Page 8
Programmation vnementielle

3.3. Prsentation du Framework .Net


Nous sommes aujourdhui la version 3.5 du Framework .NET (et bientt 4.0).
La premire version exploitable de celui-ci est sortie en 2002 et celle-ci na pas cess
dvoluer de mme que son environnement de programmation ddi : Visual Studio.
En effet la version 1 .1 est sortie en 2003 puis la 2.0 en 2005 la 3.0 en 2006 et la
version actuelle 3.5 sortie en 2007. Chaque mise jour apportant dimportantes
nouveauts et amliorations.
Nativement, la plate-forme .NET fut cre pour Windows, mais celle-ci est
dsormais portable sur des systmes Linux ou Unix, grce un projet intitul
MONO.

Le Framework .NET regroupe un ensemble doutils pour le programmeur. En


effet les technologies .Net vont nous permettre de programmer autant des
applications console et WindowsForm que des services Web, des applications
Windows mobile et bien dautres.
Un des avantages du Framework .Net, cest quil est multi-langages. C'est--dire
que lon va pouvoir programmer en VB.NET, en C#, en C++, en J# et aussi en
dautres langages compatibles. Nous allons voir comment larchitecture du
Framework va nous permettre cela.

Page 9
Programmation vnementielle

3.3.1. Le Common Language Specification


Nous allons voir ici le fonctionnement de la plateforme .NET grce un
schma simple.
Pour commencer on code dans un langage compatible .NET. La Common
Language Specification (CLS) soccupe, elle, de la compatibilit de chaque langage
avec le Framework de sorte quen codant avec nimporte quel langage compatible,
on aboutisse au mme code intermdiaire. Chaque langage est donc compil par son
compilateur associ pour aboutir un code intermdiaire : le MicroSoft Intermediate
Language (MSIL).
Cette caractristique est typique du Framework.NET, et elle nest pas l par
hasard. Bien videmment, cette compatibilit multi-langages vise faciliter la
migration dun langage de dveloppement spcifique vers la plateforme .Net
(exemple du Visual Basic et le VB.Net). Le processus de compilation est assez
semblable au fonctionnement du langage JAVA. Notre code source est Pr
compil dans un langage intermdiaire et celui-ci sera interprt lors de lexcution
par une machine virtuelle qui le traduira en code natif. Cette machine virtuelle
dans le Framework .Net, cest la Common Language Runtime (CLR).

3.3.2. Common Language Runtime


La CLR a deux grandes fonctions : dabord, elle soccupe de linterprtation
du code la vole. C'est--dire quelle va compiler le code MSIL en fonctions des
besoins ce qui optimise les performances. Cela sappelle la compilation Just in
Time ou JIT . Grce cette mthode on va uniquement compiler du code utile
. Et ensuite la Common Language Runtime va grer la mmoire. Dotnet France
Association 6 [Notions fondamentales du langage Csharp] [Date : 25/03/09]

3.4. Quest ce que le C# ?

3.4.1. Un langage simple et performant pour .NET

C# est le langage par excellence de .Net, apparu en 2001. Ce langage est


comme dit prcdemment un langage de programmation oriente objet, tant un
carrefour entre diffrent langage comme le Java, le C++ ou encore le Visual Basic,
tout en restant un langage part.

Page 10
Programmation vnementielle

Cest un langage typage fort, cest dire que le type des variables est fix
la compilation et que celle-ci peut vrifier les erreurs de typage ( la diffrence du
langage PHP par exemple). Le C Sharp est trs polyvalent, Il permet de coder de
simples applications consoles jusqu de gros programmes avec une multitude de
fentres, en passant par les jeux.

Souvent, le langage C# a t compar au java, pour qui, tout comme le C#,


tout est objet. Cependant, le langage de .NET, de part ses amlioration au fur et
mesure de son existence, a su se forger son propre profil. En effet depuis sa parution,
on est pass de la version 2.0 2.5, de 2.5 3.0 et enfin de la version 3.0 3.5, ayant
dans chaque volution bien entendu son nombre de nouveauts. De nouveaux mots
cls sont ajouts, de nouvelles sortes de classes et certaines syntaxes simplifies
Cest donc au fil des annes que ce langage devint de plus en plus efficace et plus
facile daccs que beaucoup dautres langages orients objet, ce qui fait aujourdhui
sa popularit.

4. Les bases du C#
4.1. Environnement de dveloppement
Microsoft Visual studio 2008 est lenvironnement de dveloppement ddi la
plateforme .NET, son utilisation est donc ici plus que vivement conseille. Toutefois
les codes de C# prsents ici pourront galement tre crits au bloc-notes puis
compils par un compilateur C# en lignes de commande.

4.2. Installation de Visual studio 2008


Linstallation du logiciel Visual studio 2008 est toute simple, slectionnez le
premier lien sur la premire fentre dinstallation et suivez les diffrentes tapes.

Page 11
Programmation vnementielle

4.3. Cration dun projet C#


Nous allons crer ici notre premier projet C# avec notre premire application
console. Lancer Visual Studio 2008 et dans le menu suprieur allez dans :
File/New/Project comme indiqu sur la capture dcran ci-dessous.

Puis, dans la fentre qui souvre, on va choisir Visual C# dans le menu droulant et
Console Application et donner un nom notre projet.

Page 12
Programmation vnementielle

Page 13
Programmation vnementielle

Chapitre 2 :

Prsentation de lArchitecture
Dot Net & Rgles de
ralisation dune interface

Page 14
Programmation vnementielle

1. Prsentation des composants dune application


vnementielle
1.1. Cration dun nouveau projet

Pour crer un nouveau projet, il faut suivre les tapes suivantes :


1. Dmarrez Visual Studio .NET.
2. Dans le volet Projets rcents, cliquez sur Crer : projet .
Ou Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.
3. Dans le volet Types de projets, cliquez sur Projets Visual C#. Dans le volet
Modles, cliquez sur Application Windows.
4. Dans la zone Nom, tapez un nom de projet unique qui voque lutilisation de
lapplication.
5. Dans la zone Emplacement, tapez le rpertoire dans lequel enregistrer le projet ou
cliquez sur le bouton Parcourir pour atteindre le rpertoire voulu.
6. Cliquez sur OK.
7. Le Concepteur Windows Forms souvre et affiche le formulaire Form1 pour le projet
cr.

1.2. Utilisation de lexplorateur de solutions

LExplorateur de solutions permet de visualiser des fichiers et deffectuer des tches


de gestion de fichiers partir dune solution ou dun projet. Une solution .NET base sur
Visual Basic apparat accompagne de ses projets dans une liste hirarchique qui contient des
informations jour sur ltat de la solution, des projets et des fichiers.
Une solution est un conteneur de projets et dlments de solutions quil est possible
de compiler pour gnrer une application. Une solution contient habituellement un ou
plusieurs projets apparents.

Page 15
Programmation vnementielle

Un projet est un conteneur au sein dune solution. Il est utilis pour grer, crer et
dboguer de faon logique les lments de projet qui constituent une application.
Visual Studio .NET prend en charge de nombreux types de fichiers et extensions
associes.
Pour ouvrir lExplorateur de solutions : Dans le menu Affichage, cliquez sur
Explorateur de solutions. La fentre qui le contient saffiche dans le coin suprieur droit de
la zone de dveloppement. Vous pouvez la dplacer et la redimensionner en utilisant la
fonctionnalit glisser-dplacer standard. Par dfaut, lExplorateur de solutions affiche
uniquement certains des fichiers stocks dans le projet. Vous pouvez modifier laffichage de
faon voir tous les fichiers de la solution.
Pour afficher tous les fichiers dans lExplorateur de solutions : Dans la barre
doutils Explorateur de solutions, cliquez sur Afficher tous les fichiers. Cette option permet
de visualiser les fichiers qui ont t crs manuellement ou au cours de la compilation. Il est
possible de supprimer de faon dfinitive les projets qui ne sont plus utiles.
Pour supprimer des projets dfinitivement : Dans lExplorateur Windows, cliquez
avec le bouton droit sur le dossier qui contient la solution supprimer et choisissez
Supprimer.
Pour visualiser des fichiers dans lExplorateur de solutions :
1. Si lExplorateur de solutions nest pas dj ouvert, dans le menu Affichage,
cliquez sur Explorateur de solutions.
2. Dveloppez les n.uds de fichiers pour visualiser les fichiers.
Notez la prsence des fichiers Program.cs et Form1.cs. Ces fichiers font partie de tous les
projets Windows Forms.

1.3. Excution du projet dans lenvironnement de dveloppement

Cliquez sur le bouton Dmarrer dans la barre doutils standard. Vous pouvez galement
appuyer sur F5. Comme vous navez apport aucune modification au code de dmarrage du
projet, un formulaire vierge apparat lorsque le projet est excut.
Fermez le formulaire vierge et retournez dans lenvironnement de programmation.

1.4. Gnration dun fichier excutable pour le projet

Dans le menu Gnrer, cliquez sur Gnrer NouvProjWindows. Lorsque vous gnrez
un projet ou une solution, un fichier excutable (.exe) est cr automatiquement dans le
dossier du projet, dans un sous-dossier appel bin.

Page 16
Programmation vnementielle

1.5. Excution de lapplication en dehors de lenvironnement de


dveloppement

Dans le menu Dmarrer, cliquez sur Excuter et recherchez le fichier .exe. Ce fichier se
trouve dans le dossier dossier_installation\Practices\Mod01\NouvProjWindows\bin.
En excutant lapplication en dehors de lenvironnement de dveloppement Visual
Studio .NET, vous pouvez tester lutilisation de lapplication.

1.6. Fermeture du projet et fermeture de Visual Studio .NET

1. Dans le menu Fichier, cliquez sur Quitter.


2. Lorsque vous tes invit enregistrer les modifications, cliquez sur Oui.

2. Prsenter les formulaires, les modules standards et les


modules de classes
2.1 Le concepteur Windows Form

Lorsque vous dmarrez un projet dans Visual Basic .NET, le Concepteur Windows
Forms souvre en mode Design et contient le formulaire Form1 pour le projet. Vous devez
placer des contrles depuis la bote outils sur le formulaire pour crer linterface utilisateur
dune fentre utilise dans votre application.
Le formulaire par dfaut contient le nombre minimal dlments utiliss par la plupart
des formulaires : une barre de titre, une zone de contrles et les boutons Agrandir, Rduire
et Fermer.
Pour afficher un formulaire en mode Design
1 Dans lExplorateur de solutions, double-cliquez sur le formulaire.
Ou

Page 17
Programmation vnementielle

2 Dans lExplorateur de solutions, slectionnez le formulaire et cliquez sur le bouton


Concepteur de vues dans la barre doutils.

Editeur de code
Visual Studio .NET fournit un diteur de code dans lequel vous pouvez crire et grer
du code pour votre projet. Vous pouvez associer du code directement un formulaire dans
votre projet ou le placer dans un module de code spar. Un diteur de code distinct saffiche
pour chaque formulaire ou module du projet, ce qui facilite lorganisation, laffichage et le
dplacement dans le code.
Lditeur de code contient deux listes droulantes situes en haut de la fentre :
o La liste Nom de la classe sur la gauche et la liste Nom de la mthode sur la droite.
o La liste Nom de la classe contient tous les contrles du formulaire correspondant. Si
vous slectionnez un nom de contrle dans cette liste, la liste Nom de la mthode
affiche tous les vnements qui existent pour ce contrle.
(Les vnements sont les actions que le contrle effectue et qui sont interprtes par
lapplication.) En utilisant paralllement les listes Nom de la classe et Nom de la mthode,
vous pouvez localiser et diter rapidement du code dans votre application.

Pour ouvrir lditeur de code pour un formulaire


1. Dans lExplorateur de solutions, cliquez sur le formulaire dont vous voulez visualiser le
code.
2. Dans la barre doutils Explorateur de solutions, cliquez sur le bouton Afficher le code.
- ou -
Dans le menu Affichage, cliquez sur Code.

3. Rgles de ralisation des interfaces


3.1. Les principaux objets dune interface graphique
Les principaux objets dune interface graphique sont regroups en ce quon appelle des
contrles graphiques eux mme organises en plusieurs catgories parmi lesquelles :
Les contrles de base : zone de texte, menus, barre doutils
Les contrles de dfilement
Les contrles de dialogue : fentre de recherche de fichier, sauvegarde et
rcupration,

Page 18
Programmation vnementielle

3.1.1 Cration dune interface utilisateur


Lorsque vous crez une application, la premire tape consiste crer linterface
utilisateur. Dans Visual Basic .NET, il est possible de crer rapidement cette interface
utilisateur en ajoutant dans un formulaire des contrles qui se trouvent dans la bote outils.
Pour ajouter des contrles un formulaire
1. Si la bote outils nest pas ouverte, dans le menu Affichage, cliquez sur Bote
outils.
2. Dans la bote outils, cliquez sur le contrle ajouter au formulaire et faites-le
glisser vers lemplacement de votre choix dans le formulaire.
Pour dplacer et redimensionner des contrles
1. Pour dplacer un contrle, slectionnez-le et faites-le glisser vers lemplacement de
votre choix dans le formulaire.
2. Pour redimensionner un contrle, slectionnez-le et faites glisser lune des poignes
de redimensionnement jusqu ce que le contrle ait atteint la taille dsire, puis
relchez le bouton de la souris.

3.1.2 Dfinition des proprits des contrles


Les proprits des objets se modifient en slectionnant les objets voulus sur le
formulaire et en changeant leurs valeurs dans la fentre Proprits.
Pour dfinir les proprits dans la fentre Proprits
1. Si la fentre Proprits nest pas ouverte, dans le menu Affichage, cliquez sur
Fentre Proprits.
2. Cliquez sur le contrle pour lequel dfinir une proprit.
3. Dans la fentre Proprits, slectionnez la proprit et affectez-lui la valeur
souhaite.

Page 19
Programmation vnementielle

3.1.3 Ajout de code pour les contrles


Aprs avoir dfini les proprits initiales des objets de linterface utilisateur, vous
pouvez ajouter du code qui sexcute en rponse certains vnements.
Les vnements se produisent lorsque diffrentes actions sont enregistres pour un
contrle ou un objet. Par exemple, lvnement Click dun bouton se produit lorsquun
utilisateur clique sur le bouton laide dune souris.

Page 20
Programmation vnementielle

Chapitre 3 :

lments de base de la
programmation
vnementielle

Page 21
Programmation vnementielle

1. Elments de base de la programmation vnementielle


1.1 Proprits, mthodes et vnements
Les classes dcrivent les proprits, les mthodes et les vnements qui constituent les
objets, membres de la classe. Pour contrler un objet, vous utilisez des proprits, des
mthodes et des vnements.
Les proprits sont les caractristiques dun objet telles que taille, couleur et texte. Les
mthodes sont les actions quun objet peut accomplir. Close et Hide sont des exemples de
mthode trs courants pour un formulaire.
Les vnements sont des actions, trs souvent gnres par un utilisateur, qui sont
reconnues par un objet, par exemple : activation dune touche, clic sur un bouton ou
mouvement de la souris. Chaque formulaire ou contrle dispose dun ensemble dvnements
particulier quil reconnat. Les vnements sont dclenchs lorsque certains aspects de lobjet
changent. Par exemple, lorsquun utilisateur clique sur une souris, lvnement Click se
dclenche.
Prenons lexemple dun poste de radio stro.

1.2 Cration dun formulaire


Dans Visual C#, un formulaire est une fentre utilise dans votre application. Lorsque
vous crez un nouveau projet dapplication Windows, Visual C# vous fournit une fentre de
conception o figure un formulaire. Le formulaire par dfaut contient les lments minimums
utiliss dans la plupart des formulaires : une barre de titre, une case systme et des boutons
Rduire, Agrandir et Fermer.
Les applications requirent gnralement plusieurs fentres. Il faut ajouter un
formulaire votre projet pour chaque fentre que rclame votre application.

Page 22
Programmation vnementielle

Pour ajouter des formulaires votre projet


1. Si lExplorateur de solutions nest pas ouvert, dans le menu Affichage, cliquez sur
Explorateur de solutions.
2. Dans lExplorateur de solutions, cliquez avec le bouton droit sur le nom du projet,
pointez sur Ajouter et cliquez sur Ajouter un formulaire Windows.
3. Dans la bote de dialogue Ajouter un nouvel lment, donnez un nom appropri au
formulaire, puis cliquez sur Ouvrir.

1.3 Dfinir les proprits dun formulaire


Lors de la cration de linterface utilisateur dune application Visual C#, vous devez
dfinir les proprits des objets que vous crez.
Vous pouvez dfinir les proprits de formulaire soit en crivant du code, soit en
utilisant la fentre Proprits. Tous les paramtres dfinis au moment de la conception-lorsque
vous crez lapplication-servent de paramtres initiaux chaque nouvelle excution de votre
application.
Pour dfinir les proprits de formulaire lors de la conception.
1. Si la fentre Proprits nest pas ouverte, dans le menu Affichage, cliquez sur
Fentre Proprits.

Page 23
Programmation vnementielle

2. Dans la vue Conception, cliquez sur le formulaire dont vous voulez dfinir une
proprit. Le nom du formulaire apparat dans la liste droulante Objet en haut de la
fentre Proprits.
3. Utilisez les boutons Alphabtique et Par catgorie de la fentre Proprits pour
afficher les proprits du formulaire dans lordre alphabtique ou par catgorie.
4. Dans la fentre Proprits, cliquez sur la proprit que vous souhaitez dfinir.
Lorsque vous cliquez sur une proprit, sa description saffiche au bas de la fentre
Proprits, dans le volet Description.
5. Tapez ou slectionnez la valeur que vous voulez donner la proprit.
6. Pour voir limpact du nouveau paramtre sur le formulaire, vous pouvez excuter
votre application en cliquant sur le bouton Dmarrer dans la barre doutils standard.

Pour modifier lobjet de dmarrage de votre projet


1. Si lExplorateur de solutions nest pas ouvert, dans le menu Affichage, cliquez sur
Explorateur de solutions.
2. Dans lExplorateur de solutions, cliquez avec le bouton droit sur le nom du projet,
puis cliquez sur Proprits.
3. Dans la zone Objet de dmarrage, cliquez sur le nouvel objet de dmarrage de
votre projet.

2. Contrles de base
Lors de la cration de vos applications Windows Forms, vous allez disposer vos contrles
sur ce qu'on appelle une Form. Des contrles sont en fait des lments tels que des boutons,
des zones de texte, des menus droulants,... Tous ces contrles vont devoir tre placs sur une
fentre qui va permettre de prsenter l'application.

Une proprit est dfinie par un nom et une valeur. Chaque proprit va permettre de
dfinir un comportement, une apparence... d'un contrle. Par exemple, pour la form, nous
avons une proprit qui va dfinir le texte affich dans la barre de titre de celle-ci. Nous allons
maintenant voir les principales proprits d'une Windows Form.

La figure ci-dessous prsente les diffrentes proprits dune Form :

Page 24
Programmation vnementielle

Nous allons maintenant voir les proprits les plus importantes de la fentre. La
premire de celle-ci est commune tous les contrles, c'est la proprit Name. Celle-ci va
permettre de nommer notre fentre pour pouvoir l'utiliser dans le code.

Vous pouvez galement modifier la couleur d'arrire-plan de la fentre en modifiant la


proprit BackColor. Vous avez plusieurs choix pour ce qui est de cette couleur. Vous pouvez
simplement choisir une couleur dans la partie Custom, ou alors choisir les couleurs dfinies
comme couleurs systmes. Ainsi, vous pouvez dire que la fentre aura comme couleur
d'arrire plan celle dfinie pour les boutons, ou pour le texte,...

Page 25
Programmation vnementielle

Vous pouvez galement changer l'apparence du curseur de la souris lorsque celui-ci se


trouve sur votre form en modifiant la proprit Cursor. Il est aussi possible de modifier la
police des textes affichs dans votre fentre. Pour cela, il suffit de modifier la
proprit Font en choisissant l'paisseur, le style, la taille et la police souhaite.
La proprit FormBorderStyle, quant elle, va permettre de dfinir le format des
bordures de la fentre. Si vous laissez cette proprit sur Sizabel, votre fentre pourra tre
redimensionne par l'utilisateur. FixedSingle vous permet d'empcher ce redimensionnement.
Vous pouvez galement choisir None pour cacher compltement la barre de titre.
Vous pouvez galement cacher le bouton de maximisation de la fentre en allouant False la
proprit MaximizeBox et/ou le bouton de minimisation grce la proprit MinimizeBox.
Vous pouvez aussi ne pas afficher la fentre dans votre barre des tches en dfinissant la
proprit ShowInTaskBar False.
Une proprit intressante est StartPosition. Celle-ci permet d'indiquer quel endroit
de votre cran votre fentre s'affichera lorsque celle-ci apparatra. Par exemple, la
valeur CenterScreen permet de centrer la fentre au milieu de l'cran alors que la
valeur CenterParent permet de centrer la fentre par rapport sa fentre parent.
La proprit Text va permettre de dfinir le texte apparaissant dans la barre de titre de
votre fentre et enfin, la propritWindowState permet de dfinir si votre application dmarre
avec la fentre maximise (Maximized), minimise (Minimized) ou normal (Normal).

2.1 Composant Label

2.2 Composant TextBox

2.3 Composant Button

Page 26
Programmation vnementielle

Les Listes
1. Le contrle ListView :

De plus en plus puissant, le contrle ListView permet dafficher des listes multi
colonnes, ou des listes avec icne ou case cocher.

1.1 Liste avec sous lments.

En mode conception (cration) : La proprit View permet de dterminer laspect


gnral du contrle, elle peut prendre les valeurs :

Details : permet une liste avec sous lments et titre de colonnes.

Liste utilise un ascenseur horizontal.

LargeIcon

SmallIcone

En mode programmation cela donne : ListBox.View= View.Details

Utilisons le mode dtails (Appel mode Rapport)

Exemple : Faire un tableau de 3 colonnes, mettre les nombres de 1 100 dans la


premire, leur carr dans la seconde, leur cube dans la troisime.

Page 27
Programmation vnementielle

1.2 Comment remplir les en-ttes de colonnes?

En mode conception, dans la fentre proprit du ListView, il y a une proprit


Columns, le fait de cliquer sur le bouton dexpansion () ouvre une fentre, cliquer sur
Ajouter permet dajouter une colonne ; la proprit Text permet de donner un libell qui
apparatra en haut de la colonne. On peut ainsi nommer les 3 colonnes ( Nombre ,
Carr , Cube dans notre exemple)

Par programmation on peut aussi crer des colonnes en utilisant par exemple le code
suivant; cela donne:

listView1.Columns.Add("Nombre",100,HorizontalAlignment.Center);
listView1.Columns.Add("Carr", 100, HorizontalAlignment.Center);
listView1.Columns.Add("Cube", 100, HorizontalAlignment.Center);

Une autre manire est de crer une colonne et de l'ajouter:

ColumnHeader Nombre = new ColumnHeader();


Nombre.Text = "Nombre";
Nombre.TextAlign = HorizontalAlignment.Center;
Nombre.Width = 60;

ColumnHeader Carre = new ColumnHeader();


Carre.Text = "Carr";
Carre.TextAlign = HorizontalAlignment.Center;
Carre.Width = 60;

ColumnHeader Cube = new ColumnHeader();


Cube.Text = "Cube";
Cube.TextAlign = HorizontalAlignment.Center;
Cube.Width = 60;

listView1.Columns.Add(Nombre);
listView1.Columns.Add(Carre);
listView1.Columns.Add(Cube);

Page 28
Programmation vnementielle

1.3 Comment remplir le tableau?

Pour remplir le tableau, on pourrait, sur la ligne Items de la fentre des proprits,
cliquer sur et rentrer les valeurs la main. Ou bien On le fait le plus souvent par
programmation:

Pour chaque ligne il faut crer un objet ListViewItem: sa proprit Text contient le
texte de la premire cellule. On ajoute cet objet des SubItems qui correspondent aux cellules
suivantes. Enfin on ajoute le ListViewItem au contrle ListView :

for (int i = 1; i <= 100; i++){


ListViewItem nb = new ListViewItem();
nb.Text = i.ToString(); // premire cellule
nb.SubItems.Add((i * i).ToString()); // deuxime cellule
nb.SubItems.Add((i * i * i).ToString()); // troisime cellule
listView1.Items.Add(nb); } //Ajout de la ligne

Autre manire: on veut crer un tableau pour grer les stagiaires de la filire TDI1A.
Pour cela on doit crer une listView aprs on spcifie les colonnes de la table stagiaires par les
attributs (Matricule, Nom, Prnom).

listView2.View = View.Details;
listView2.Columns.Add("Matricule", 100, HorizontalAlignment.Left);
listView2.Columns.Add("Nom", 100, HorizontalAlignment.Left);
listView2.Columns.Add("Prnom", 100, HorizontalAlignment.Left);

Puis on rajoute les enregistrements de la table avec le code ci-dessus

ListViewItem mat = new ListViewItem("70911");


ListViewItem.ListViewSubItem nom = new ListViewItem.ListViewSubItem(mat,
"ALAOUI");
mat.SubItems.Add(nom);
ListViewItem.ListViewSubItem prenom = new ListViewItem.ListViewSubItem(mat, "SAID");
mat.SubItems.Add(prenom);
listView2.Items.Add(mat);

ou bien de manire plus simple:

ListViewItem stag = new ListViewItem();


stag.Text = "234511";
stag.SubItems.Add("KAMALI");
stag.SubItems.Add("Rachida");
listView2.Items.Add(stag);

Rsultat :

Page 29
Programmation vnementielle

1.4 Comment relire une cellule, rcrire dans une cellule?

Voyons d'abord comment on peut localiser une cellule:

ListBox.Items[0].SubItems[0].Text ListBox.Items[0].SubItems[1].Text ListBox.Items[0].SubItems[2].Text

ListBox.Items[1].SubItems[0].Text ListBox.Items[1].SubItems[1].Text ListBox.Items[1].SubItems[2].Text

Les lignes sont contenues dans la collection Items : La premire ligne est
ListBox.Items[0], la seconde ligne: ListBox.Items[1]...

Les cellules sont contenues dans la collection Items[].SubItems :

La premire cellule est ListBox.Items[0].SubItems[0] ou ListBox.Items[0].Text , la


seconde ListBox.Items[0].SubItems[1].

Pour lire le texte de la seconde ligne seconde colonne et lafficher dans une
zone de texte : TextBox1.Text = ListBox.Items[1].SubItems[1].

Pour crire dans une cellule: ListBox.Items[1].SubItems[1] .Text = "88"

1.5 Comment intercepter le numro de la ligne qui a t clique par lutilisateur


(et lafficher)?

private void listView2_SelectedIndexChanged(object sender, EventArgs e)


{
label1.Text = listView2.SelectedIndices[0].ToString();

Page 30
Programmation vnementielle

Si la proprit MultiSelect est False il y a, bien sur, une seule ligne slectionne,
sinon les lignes slectionnes sont dans la collection SelectedIndices().

Si on veut rcuprer le texte de la ligne slectionne, il faut utiliser :


listView2.SelectedItems[0]

Si la proprit GridLine est True, des lignes matrialisant les cases apparaissent.

Si la proprit CheckedBox est True, des cases cocher apparaissent.

listView2.LabelEdit = True autorise la modification d'une cellule de la premire


colonne (pour modifier, il faut cliquer une fois (slection) puis une seconde fois
(modification). Pour les colonnes suivantes, il n'y a pas d'dit.

1.6 Supprimer une ligne clique par lutilisateur :

Pour supprimer une colonne slectionne par lutilisateur, on utilise la proprit


Remove()
listView2.Items.Remove(listView2.SelectedItems[0]) ;
Si la proprit CheckedBox est True, on utilise le code suivant :
listView2.Items.Remove(listView2.CheckedItems[0]);

Les conteneurs
1. Dfinir la notion de conteneur

Le container reprsente un objet visuel particulier dont lobjectif est de pouvoir


contenir dautres objets visuels. On peut regrouper des contrles dans les catgories suivantes:

Les GroupBox.

Les Panels.

Les PictureBox.

Les TabControl.

Page 31
Programmation vnementielle

Les SplitContainer.

Les LayoutPanel.

2. Prsenter les principes de placement des contrles

2.1 GroupBox et Panel

Il est possible de regrouper des contrles dans un container, on peut par exemple
regrouper plusieurs RadioButton. Le container peut tre un GroupBox ou un Panel.

GroupBox Panel avec AutoScroll = True et BorderStyle=Single

Pour l'utilisateur, le fait que toutes les options soient regroupes dans un panneau est
un indice visuel logique (Tous les RadioButton permettrons un choix dans une mme
catgorie de donnes). Au moment de la conception, tous les contrles peuvent tre dplacs
facilement ; si vous dplacez le contrle GroupBox ou Panel, tous les contrles qu'il contient
sont galement dplacs. Les contrles regroups dans un panneau ou un GroupBox sont
accessibles au moyen de la proprit Controls du panneau.

Le contrle Panel est similaire au contrle GroupBox ; mais, seul le contrle Panel
peut disposer de barres de dfilement et seul le contrle GroupBox peut afficher une lgende
ou bien un titre.

La lgende de la GroupBox est dfinie par la proprit Text.

Pour faire apparatre les barres de dfilement dans le Pannel mettre

AutoScroll =True

AutoScrollMinSize =100;100

Page 32
Programmation vnementielle

Dans un Panel, pour afficher des barres de dfilement, attribuez la proprit


AutoScroll la valeur True. La proprit BorderStyle dtermine si la zone est entoure d'une
bordure invisible (None), d'une simple ligne (FixedSingle) ou d'une ligne ombre (Fixed3D).

Comment crer un contrle Panel ?

Faites glisser un contrle Panel de l'onglet Windows Forms de la bote outils


jusqu' un formulaire. Ajoutez des contrles au panneau en les dposant dans le panneau. Si
vous voulez mettre dans le panneau des contrles existants, slectionnez-les tous, coupez-les
dans le Presse-papiers, slectionnez le contrle Panel et collez-les.

2.2 PictureBox

Le contrle PictureBox peut afficher une image mais peut aussi servir de conteneur
d'autres contrles. Retenons la notion de conteneur qui est le contrle parent.

2.3 TabControl

Ce contrle permet de crer des onglets comme dans un classeur, onglets entirement
grs par C#. Chaque page peut contenir d'autres contrles.

En mode conception, en passant par la proprit TabPages, on ajoute des onglets dont
la proprit Text contient le texte afficher en haut (Ici: Page 1..). Il suffit ensuite de cliquer
sur chaque onglet et d'y ajouter les contrles.

En mode run les onglets fonctionnent automatiquement: cliquez sur Page 2 affiche la
page correspondante (et dclenche l'vnement Click de cet objet TabPage).

La proprit Alignement permet de mettre les onglets en haut, en bas, droite,


gauche.

Page 33
Programmation vnementielle

2.4 SplitContainer

Permettant de crer facilement une sparation dplaable entre 2 zones.

On met le SplitContainer, dans les 2 zones on met par exemple 2 textbox. Il faut mettre
la proprit Dock de ces 2 textbox Fill. En mode Run, cela marche : si je dplace la zone de
sparation centrale, cela agrandit un textbox et diminue le second.

Margin indique la largeur de la sparation.

Orientation permet une sparation horizontale ou verticale.

2.5 LayoutPanel

Permettent de positionner les contrles dans une Form en mode conception. On ne les
voit pas en mode Run.

FlowLayoutPanel: Place les contrles droite du prcdent, passe ' la ligne' si


ncessaire, c'est gnial pour crer plusieurs lignes de label, TextBox, Bouton:

Page 34
Programmation vnementielle

TableLayoutPanel: On cre un tableau de panel, puis on met les contrles dans les
cellules:

2.6 Groupes de contrles en VB .Net

Exemple: 3 cases cocher permettent de colorer un label en vert rouge ou bleu.


Comment grer les vnements?

On peut crire 3 routines compltes pour chaque case cocher. Il est aussi toujours
possible dans chacune des 3 procdures CouleurX.checkedChanged de vrifier si la case est
coche et de modifier la couleur.

C'est plus lgant d'avoir une procdure unique qui, en fonction de la case cocher qui
a dclench l'vnement, change la couleur.

On dsire donc parfois que l'vnement de plusieurs contrles diffrents soit dirig sur
une seule et mme procdure.

Exemple : Si j'ai une interface utilisateur avec 20 Textbox, comment modifier la


couleur de fond des 20 Textbox?
(En VB6 on crait un groupe de contrle, cela n'existe plus en VB.net!!)

Page 35
Programmation vnementielle

Solution 1
TextBox1.BackColor= Color.Red
TextBox2.BackColor= Color.Red
TextBox3.BackColor= Color.Red
..... !!!!!! Fastidieux

Solution 2
Mettre les 20 TextBox dans un Panel (invisible); la collection Controls du Panel
contient tous les contrles contenus dans le panel, on utilise cette collection pour atteindre
tous les textbox:

private void button1_Click(object sender, EventArgs e){


int i;
for (i = 0; i < groupBox1.Controls.Count; i++)
groupBox1.Controls[i].BackColor = Color.Red;
}
Ou
private void button2_Click(object sender, EventArgs e){
int i;
foreach (TextBox txt in groupBox1.Controls)
txt.BackColor = Color.Red;
}
S'il n'y a pas que des TextBox dans le Panel et qu'on ne veut modifier que les TextBox:

private void button2_Click(object sender, EventArgs e){


int i;
foreach (Control ctrl in groupBox1.Controls)
{
if (ctrl.GetType() == typeof(TextBox))
ctrl.BackColor = Color.Red;
}
}

Page 36
Programmation vnementielle

Utiliser les barres dtats et barre doutils, les menus


principaux et contextuels
1. Introduction :
Les menus, les barres dtat et les barres doutils permettent doffrir des
fonctionnalits aux utilisateurs ou de leur donner des informations importantes dans votre
application. Les menus contiennent des commandes, regroupes selon un thme commun. Les
barres dtat indiquent ltat de lapplication ou fournissent des informations propos de
lentit de lapplication qui a le focus, comme une commande de menu. Les barres doutils
utilisent des boutons destins faciliter laccs aux commandes frquemment utilises.
2. Cration de menus
Si vous voulez que votre application fournisse diverses commandes aux utilisateurs, les
menus constituent un moyen pratique et cohrent de regroupement des commandes,
permettant un accs facile. En outre, vous pouvez utiliser les touches daccs rapide et les
touches de raccourci afin de rendre la navigation dans les menus plus aise pour les
utilisateurs expriments de votre application.
Ce chapitre dcrit comment crer des menus en vue de fournir un ensemble group de
commandes aux utilisateurs.
Ce chapitre inclut les rubriques et activits ci-dessous :
Prsentation multimdia: Cration de menus
Terminologie des menus
Principes de cration des menus
Cration dun menu
Modification des lments de menu
Amlioration de votre menu
Application pratique : Cration dun menu
3. Terminologie des menus
Un systme de menu se compose gnralement de plusieurs lments. Le tableau ci-
dessous dcrit les lments de menu dune interface utilisateur classique, telle que celles
utilises par les applications Windows

Page 37
Programmation vnementielle

4. Principes de cration de menus


Lobjectif dun menu est de rendre lutilisation de votre application simple et intuitive.
Les principes standards ci-dessous relatifs la cration des lments de menu vous aideront
rendre votre menu plus intuitif et plus utile.
Le tableau suivant indique les principes de cration des menus :

5. Cration dun menu


Vous pouvez crer un menu dans un Windows Form en ajoutant un contrle MainMenu
au formulaire, au moment du design, partir de la bote outils.

Page 38
Programmation vnementielle

Vous pouvez ensuite crer les lments de menu et sous-menus de votre menu laide du
Concepteur de menus. Lorsque la structure de votre menu a t cre, vous pouvez ajouter des
fonctionnalits aux lments de menu.
5.1 Pour ajouter un menu et des lments de menu un formulaire

1. Dans le Concepteur Windows Forms, ouvrez le formulaire auquel vous souhaitez


ajouter un menu.
2. Dans la bote outils, double-cliquez sur le contrle MainMenu. Un menu est
ajout au formulaire. Le menu affiche le texte Tapez ici.
3. Cliquez sur le texte Tapez ici, puis tapez le nom de llment de menu souhait afin
de lajouter au menu.
4. Le nom que vous tapez apparat en tant que proprit Text de llment de menu.
Par dfaut, le contrle MainMenu ne contient pas dlments de menu, de telle
sorte que le premier lment de menu ajout au menu devient len-tte du menu.
5. Pour ajouter un autre lment de menu, cliquez sur une autre zone Tapez ici dans le
Concepteur de menus.
a. Cliquez sur la zone droite de llment de menu actuel pour ajouter un sous-
menu. Vous ne pouvez pas ajouter un sous-menu un en-tte de menu.
b. Cliquez sur la zone en dessous de llment de menu actuel pour ajouter un
autre lment au mme menu

Lajout de code lvnement Click de llment de menu permet dajouter des


fonctionnalits aux lments de menu. Lvnement Click se produit lorsquun utilisateur
clique sur llment de menu, lorsquun utilisateur slectionne llment laide du clavier et
appuie sur ENTRE, ou lorsquun utilisateur clique sur une touche daccs rapide ou une
touche de raccourci associe llment de menu.

5.2 Pour ajouter une fonctionnalit llment de menu


1. Dans le Concepteur de menus, cliquez sur llment de menu auquel vous voulez
ajouter une fonctionnalit.
2. Dans la fentre Proprits, modifiez la proprit Name de llment. Renommez
llment. Utilisez la mme convention daffectation de noms pour tous les
lments du menu. (Par exemple, affectez llment de menu Open du nom
OpenItem.)
3. Double-cliquez sur llment de menu pour ouvrir lvnement Click dun
gestionnaire dvnements.
4. crivez le code pour le gestionnaire dvnements.

Page 39
Programmation vnementielle

6. Modification des lments dun menu


Aprs avoir cr votre menu, vous pouvez aisment le modifier en dplaant, en
supprimant, en ditant, en dsactivant ou en masquant des lments.
1.1 Pour dplacer un lment de menu
Dans le Concepteur de menus, cliquez sur llment de menu et dplacez-le vers son
nouvel emplacement. Vous pouvez placer llment au sommet du menu ou entre dautres
lments de menu, ou lajouter en tant que nouveau sous-menu dun lment existant.
1.2 Pour supprimer un lment de menu
Dans le Concepteur de menus, cliquez avec le bouton droit sur llment de menu, puis
cliquez sur Supprimer. La proprit Text de llment de menu dfinit le nom qui sera
visible par les utilisateurs. Lorsque vous utilisez le Concepteur de menus, vous dfinissez la
proprit Text pour chaque lment loccasion de la cration des lments de menu.
1.3 Pour modifier la proprit Text dun lment de menu
Dans le Concepteur de menus, cliquez sur llment de menu pour slectionner le nom,
puis tapez le nouveau nom.
La proprit Name de chaque lment est dfinie dynamiquement par le Concepteur de
menus. Le Concepteur de menus utilise le systme daffectation de noms MenuItemX, o X
est un nombre reprsentant lordre dans lequel llment de menu a t cr. Le Concepteur
de menus de Microsoft Visual Studio contient un diteur de noms permettant de modifier la
proprit Name des lments de menu que vous crez
1.4 Pour modifier la proprit Name des lments de menu laide de lditeur de
noms
1. Cliquez avec le bouton droit nimporte o dans le Concepteur de menus, puis cliquez
sur Modifier les noms. Le Concepteur de menus passe en mode ddition de noms, et
le nom dun lment de menu apparat ct du texte spcifi dans la proprit Text.
2. Modifiez la proprit Name la valeur souhaite.
3. Pour quitter le mode ddition de noms, cliquez avec le bouton droit nimporte o dans
le Concepteur de menus, puis cliquez nouveau sur Modifier les noms.

Les lments de menu sont activs par dfaut lors de leur cration. La dsactivation des
lments de menu en rponse lactivit de lutilisateur est un moyen de limiter le nombre de
commandes accessibles. Pour dsactiver un lment de menu, utilisez la proprit Enabled de
llment de menu.

Page 40
Programmation vnementielle

1.5 Pour dsactiver un lment de menu


1. Dans le Concepteur de menus, cliquez sur llment de menu que vous voulez
dsactiver.
2. Dans la fentre Proprits, dfinissez la proprit Enabled la valeur False. Vous
pouvez dsactiver un lment de menu au moment de lexcution laide du code
suivant, o MenuItem1 est le nom de llment de menu que vous voulez dsactiver :
MenuItem1.Enabled = False
Le masquage des lments de menu est un moyen permettant de contrler linterface
utilisateur de votre application et de limiter les commandes accessibles. Souvent, vous
voudrez masquer la totalit dun menu lorsque tous les lments de ce menu sont
inaccessibles. Cela a lavantage de limiter au maximum les distractions des utilisateurs.
Notez quil est important la fois de masquer et de dsactiver le menu, car le
masquage seul du menu nempche pas daccder une commande de ce menu par le biais
dune touche de raccourci.
1.6 Pour masquer un lment de menu
1. Dans le Concepteur de menus, cliquez sur llment de menu que vous voulez masque.
2. Dans la fentre Proprits, dfinissez la proprit Visible la valeur False
7. Amliorer votre menu
Vous pouvez ajouter quatre types damlioration un menu afin de fournir plus
dinformations aux utilisateurs :
Les coches indiquent si une fonctionnalit est active ou dsactive (par exemple si
une rgle est affiche le long de la marge dune application de traitement de texte) ou
indiquent lequel des fichiers dune liste est affich (comme dans un menu Fentre).

Les touches de raccourci sont des commandes clavier utilises pour accder aux
lments de menu au sein dune application.

Les touches daccs rapide permettent de naviguer dans les menus laide du clavier.
Pour activer le menu ou llment de menu souhait, appuyez sur ALT et sur la touche
daccs rapide souligne.

Les barres sparatrices permettent de grouper les commandes apparentes dun menu
et de rendre celui-ci plus lisible.

Page 41
Programmation vnementielle

7.1 Pour ajouter une coche un lment de menu


Dans le Concepteur de menus, cliquez sur llment de menu, puis cliquez sur la zone
gauche de llment de menu. Une coche apparat, indiquant que la proprit Checked a t
dfinie sur True.
Ou :
1. Dans le Concepteur de menus, cliquez sur llment de menu.
2. Dans la fentre Proprits, dfinissez la proprit Checked la valeur True.

La proprit RadioCheck fonctionne conjointement avec la proprit Checked.


Lorsque la proprit RadioCheck a la valeur True, un petit point (.) est affich ct dun
lment de menu coch au lieu dune coche ().
7.2 Pour affecter une touche de raccourci un lment de menu
1. Dans le Concepteur de menus, cliquez sur llment de menu.
2. Dans la fentre Proprits, dfinissez la proprit Shortcut lune des valeurs
figurant dans la liste droulante.
7.3 Pour affecter une touche daccs rapide un lment de menu
Lorsque vous dfinissez la proprit Text de llment de menu (dans la fentre
Proprits, dans le Concepteur de menus ou laide de code), tapez une esperluette (&)
devant la lettre que vous voulez dsigner comme touche daccs rapide.
Par exemple, si vous tapez &Fichier pour la proprit Text dun lment de menu,
celui-ci apparatra comme suit : Fichier . De mme, F&ormat provoquera lapparition de
llment de menu Format .

Page 42
Programmation vnementielle

Pour accder un lment de menu, appuyez sur ALT pour placer le focus sur la barre
de menus et appuyez sur la touche daccs rapide du nom du menu. Lorsque le menu souvre
et affiche ses lments ainsi que les touches daccs rapide, appuyez sur la touche daccs
rapide de llment de menu souhait pour lactiver.
7.4 Pour ajouter une barre sparatrice un lment de menu
Dans le Concepteur de menus, cliquez avec le bouton droit lendroit o vous voulez
placer la barre sparatrice, puis cliquez sur Insrer un sparateur.
Ou, lorsque vous dfinissez la proprit Text de llment de menu (dans la fentre
Proprits, dans le Concepteur de menus ou laide de code), tapez un tiret (.) pour faire de
cet lment de menu une barre sparatrice

Page 43