Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
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
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
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.
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
Le cas nous intressant le plus est celui des protocoles embarqus, il demeure cependant
trs important de bien comprendre les deux principes
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.
Page 7
Programmation vnementielle
Les listeners
En Visual Basic .Net le mcanisme est implment au travers de procdures
vnementielles appeles gestionnaires dvnements
Page 8
Programmation vnementielle
Page 9
Programmation vnementielle
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.
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.
Page 11
Programmation vnementielle
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
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.
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.
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
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.
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
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.
Page 18
Programmation vnementielle
Page 19
Programmation vnementielle
Page 20
Programmation vnementielle
Chapitre 3 :
lments de base de la
programmation
vnementielle
Page 21
Programmation vnementielle
Page 22
Programmation vnementielle
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.
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.
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.
Page 25
Programmation vnementielle
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.
LargeIcon
SmallIcone
Page 27
Programmation vnementielle
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);
listView1.Columns.Add(Nombre);
listView1.Columns.Add(Carre);
listView1.Columns.Add(Cube);
Page 28
Programmation vnementielle
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 :
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);
Rsultat :
Page 29
Programmation vnementielle
Les lignes sont contenues dans la collection Items : La premire ligne est
ListBox.Items[0], la seconde ligne: ListBox.Items[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].
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 la proprit GridLine est True, des lignes matrialisant les cases apparaissent.
Les conteneurs
1. Dfinir la notion de conteneur
Les GroupBox.
Les Panels.
Les PictureBox.
Les TabControl.
Page 31
Programmation vnementielle
Les SplitContainer.
Les LayoutPanel.
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.
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.
AutoScroll =True
AutoScrollMinSize =100;100
Page 32
Programmation vnementielle
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).
Page 33
Programmation vnementielle
2.4 SplitContainer
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.
2.5 LayoutPanel
Permettent de positionner les contrles dans une Form en mode conception. On ne les
voit pas en mode Run.
Page 34
Programmation vnementielle
TableLayoutPanel: On cre un tableau de panel, puis on met les contrles dans les
cellules:
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.
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:
Page 36
Programmation vnementielle
Page 37
Programmation vnementielle
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
Page 39
Programmation vnementielle
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
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
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