Programmation événementielle (C# sous le framework .Net)

Institut Supérieur des Études Technologiques de Bizerte
1/108
100%

<!-- Slide number: 1 -->

! (Picture2.jpg)

! (Picture5.jpg)

Institut Sup rieur des Etudes Technologique de Bizerte

D partement Technologies de lInformatique

Programmation v nementielle(C# sous le framework .Net)

![](Picture6.jpg)

Dapr s le cours de BEN ROMDHAN Mourad

10/03/2016

Notes:

<!-- Slide number: 2 -->

! (Picture2.jpg)

![](Picture2.jpg)

Plan

10/03/2016

Principes de la programmation v nementielle

1

Microsoft Visual Studio et la plateforme .NET

2

Environnement et contr les

3

![](Picture2.jpg)

! (Picture24.jpg)

! (Picture25.jpg)

El ments du langage C#

4

La POO en C#

5

Les bases de donn es

6

Etat de sortie et d ploiement dapplications

7

2

Notes:

Mon expos est compos de 6 parties,

Je commence dans la 1 re par pr senter mon tat civil

Ensuite je vous pr sente mon cursus des tudes suivi par les diff rents projets et stages que jai r alis s.

Dans la 4 me partie je vous pr sente ma exp rience professionnelle et dans la 5 me mes diff rentes activit s p dagogiques,

Je termine cet expos par quelques perspectives et ambitions

<!-- Slide number: 3 -->

![](Picture5.jpg)

! (Picture7.jpg)

I- Prog v nementielle:

I

![](Picture5.jpg)

! (Picture7.jpg)

Principes de la Programmation v nementielle

3

10/03/2016

<!-- Slide number: 4 -->

I- Prog v nementielle:

![](Picture5.jpg)

! (Picture7.jpg)

Pr sentation.

D finitions.

Exemple de programme.

4

10/03/2016

Notes:

<!-- Slide number: 5 -->

![](Picture5.jpg)

! (Picture7.jpg)

1- Pr sentation: (1/2)

Programmation classique : (console)

![](Picture3.jpg)

![](Picture4.jpg)

1

Entr e de valeur&

2

![](Picture3.jpg)

UTILISATEUR

Lutilisateur fait ce que lui demande lapplication.

Lapplication a le contr le.

5

10/03/2016

Notes:

<!-- Slide number: 6 -->

![](Picture5.jpg)

! (Picture7.jpg)

1- Pr sentation: (2/2)

Prog v nementielle : (Interfaces graphiques)

![](Picture3.jpg)

![](Picture3.jpg)

1

2

![7761605](Image19.jpg)

![12243447](Image20.jpg)

UTILISATEUR

On peut tout moment s lectionner, cliquer, changer de fen tre ...

Application toujours pr te r agir.

Application esclave de lutilisateur.

Lutilisateur a le contr le.

6

10/03/2016

Notes:

<!-- Slide number: 7 -->

![](Picture5.jpg)

! (Picture7.jpg)

2- D finitions: (1/4)

Objet graphique: Composant syst me appel et utilis par les applications graphiques.

Un v nement: est une action mise par un utilisateur ou un programme sur un objet graphique pour d clencher un traitement.

Exemples d v nements:

![](Picture3.jpg)

Fen tre

![](Picture6.jpg)

Bouton radio

![](Picture7.jpg)

Cases cocher

![](Picture5.jpg)

Zone de texte

![](Picture4.jpg)

Bouton

Fermer une fen tre,

Simple Click sur un bouton,

Double Click sur un bouton,

Bouger la souris,

Minimiser une fen tre,

&.

7

10/03/2016

Notes:

<!-- Slide number: 8 -->

![](Picture5.jpg)

! (Picture7.jpg)

2- D finitions: (2/4)

Un v nement contient des infos d pendant du type d v nement,

par exemple, la position (x, y) de la souris pendant le mouvement,&.

Une interface de programme Windows est constitu e de contr les avec lesquels lutilisateur interagit.

Les v nements sont lev s par le syst me, suite une action de lutilisateur sur un contr le ou par une activit interne.

Les v nements: des signaux syst me.

8

10/03/2016

Notes:

<!-- Slide number: 9 -->

![](Picture5.jpg)

! (Picture7.jpg)

2- D finitions: (3/4)

Programmation v nementielle: programmation fond e sur les v nements.

Le programme sera d fini par ses r actions aux diff rents v nements qui peuvent se produire.

Lapplication se met en attente des v nements.

![](Picture4.jpg)

![](Picture5.jpg)

![](Picture6.jpg)

9

10/03/2016

Notes:

<!-- Slide number: 10 -->

![](Picture5.jpg)

! (Picture7.jpg)

2- D finitions: (4/4)

Les composants (objets graphiques) d'une application v nementielle interagissent entre eux et avec l'environnement. Ils communiquent en r ponse des v nements.

L'application a une boucle principale divis e en deux sections :

la premi re section d tecte les v nements,

la seconde les g re.

Ev nement

![](Picture5.jpg)

! (Picture7.jpg)

Traitement correspondant

Boucle de gestion des v nements

10

10/03/2016

Notes:

<!-- Slide number: 11 -->

![](Picture5.jpg)

! (Picture7.jpg)

3- Exemple de prog v nementielle:

![](Image14.jpg)

11

10/03/2016

Notes:

<!-- Slide number: 12 -->

! (Picture2.jpg)

II- Ms Visual Studio et la plateforme .NET

Visual Studio: pr sentation

Visual Studio: Historique

La plate-forme .NET

Architecture .net

Fonctionnement

12

10/03/2016

Notes:

<!-- Slide number: 13 -->

1-Pr sentation: (1/2)

! (Picture2.jpg)

Microsoft Visual Studio: Environnement de d veloppement cr par Microsoft pour d velopper des applications qui tournent sous Microsoft Windows.

Visual: un outil visuel qui fournit la notion de programmation d'interface graphique (GUI - Graphical User Interface).

En GUI on dispose l'aide de la souris des l ments graphiques (boutons, images, champs de texte, menus d roulants,...) et on pr pare le traitement correspondant aux v nements.

Utilisation simple des API (Application Programming Interface) Windows: lensemble des fonctions et composants syst mes qui peuvent tre appel s partir du code dans les projets.

13

10/03/2016

<!-- Slide number: 14 -->

1-Pr sentation: (2/2)

! (Picture2.jpg)

Visual Studio est un ensemble complet d'outils de d veloppement permettant de g n rer:

Publicité

Des applications Windows: VB, C++, C#, J#,..

Des applications Web: ASP, ASP.NET,

Des Services Web: XML,

Des applications mobiles.

! (Picture35.jpg)

! (Picture36.jpg)

! (Picture39.jpg)

! (Picture33.jpg)

! (Picture40.jpg)

! (Picture32.jpg)

! (Picture34.jpg)

! (Picture44.jpg)

! (Picture24.jpg)

! (Picture25.jpg)

! (Picture22.jpg)

! (Picture43.jpg)

14

10/03/2016

<!-- Slide number: 15 -->

! (Picture2.jpg)

2- Historique:

Visual Studio 1.0, 2.0, 3.0 (sous Windows 3.1)

Visual Studio 4.0 en 1995 (sous Windows 95 )

Visual Studio 5.0 en 1997

Visual Studio 6.0 en 1998 (sous Windows 98 )

Visual Studio 2002 version 7.0 ('introduction du Framework .NET 1.0)

Visual Studio 2003 version 7.1, framework .NET 1.1

Visual Studio 2005 version 8.0, framework .NET 2

Visual Studio 2008 version 9.0, framework .NET 3.5

Visual Studio 2010 version 10.0, framework .NET 4

Visual Studio 2012 version 11.0, framework .NET 4.5

Visual Studio 2013 version 12.0, framework .NET 4.5

Microsoft Visual Studio Express: version all g e gratuite pour des buts ducatifs partir de 2005.

22 juin 2000, date de la premi re annonce de linitiative .NET (ou en anglais dot net) par Bill Gates.

15

10/03/2016

<!-- Slide number: 16 -->

3- La plate-forme .NET: (1/2)

![](Picture2.jpg)

Appel en anglais Framework dotnet.

Un ensemble de technologies pour d velopper et utiliser des composants :

Formulaires Web

Services Web

Applications Windows

La plus grande volution chez Microsoft depuis le passage de DOS Windows.

Une biblioth que de fonctions qui couvre la totalit des API Windows.

16

10/03/2016

<!-- Slide number: 17 -->

3- La plate-forme .NET: (2/2)

![](Picture2.jpg)

Support dun grand nombre de langages.

Toutes les fonctionnalit s de la plateforme .NET sont disponibles dans tous les langages.

Les langages disponibles:

Perl

Python

Cobol

Haskell

ML

JScript

Ada

APL

Eiffel

Pascal

Fortran

Managed C++

Visual Basic

C#

J#

SmallTalk

Oberon

Scheme

Mercury

Oz

Objective Caml

Delphi

&

17

10/03/2016

<!-- Slide number: 18 -->

4- Architecture .net: (1/10)

![](Picture2.jpg)

![](Picture2.jpg)

1

2

3

4

18

10/03/2016

<!-- Slide number: 19 -->

4- Architecture .net: (2/10)

![](Picture2.jpg)

La premi re Couche CLS:

![](Picture2.jpg)

1

CLS: Compos e des sp cifications communes tous les langages.

La CLS est une sorte de sous-ensemble minimal de sp cifications pour donner un langage commun entre tous les langages de .NET (chaque langage devra trouver ou construire un quivalent valable dans sa syntaxe et son syst me de type)

19

10/03/2016

<!-- Slide number: 20 -->

4- Architecture .net: (3/10)

![](Picture2.jpg)

Common Types System:

![](Picture2.jpg)

20

10/03/2016

<!-- Slide number: 21 -->

4- Architecture .net: (4/10)

![](Picture2.jpg)

*.vb

*.cpp

*.cs

*.jsl

*.js

*.cob

*.?

VB

C++

C#

J#

JScript

Cobol

&

Respectent la Common Language Specification (CLS)

Common Intermediate Language CIL)

Ind pendant de la plate-forme hardware

21

10/03/2016

<!-- Slide number: 22 -->

4- Architecture .net: (5/10)

![](Picture2.jpg)

La seconde couche:

![](Picture2.jpg)

2

Ensemble de composants graphiques disponibles dans Visual Studio.NET qui permettent de construire des interfaces homme-machine orient es Web (services Web) ou bien orient es applications classiques avec IHM.

Les donn es sont acc d es dans le cas des services Web travers le protocole XML.

22

10/03/2016

<!-- Slide number: 23 -->

4- Architecture .net: (6/10)

![](Picture2.jpg)

La troisi me couche:

3

![](Picture2.jpg)

Constitu e d'une vaste librairie de plusieurs centaines de classes et peut tre tendue par lint gration de nouvelles classes.

Cette librairie a la m me fonction que la biblioth que des classes de Java.

La librairie de classe de .NET Framework est organis e en espaces de nom hi rarchis s comme les paquetages en java.

23

10/03/2016

<!-- Slide number: 24 -->

4- Architecture .net: (7/10)

![](Picture2.jpg)

Common Intermediate Language (CIL)

Framework Class Library

Accessible depuis tous les langages

Common Language Runtime (CLR)

24

10/03/2016

<!-- Slide number: 25 -->

4- Architecture .net: (8/10)

![](Picture2.jpg)

System.Windows.Forms

Design

ComponentModel

System.Web

Services

UI

Description

HtmlControls

Discovery

WebControls

Protocols

Caching

Security

Configuration

SessionState

System.Drawing

Drawing2D

Printing

Imaging

Text

System.Data

OracleClient

OleDb

SqlClient

OracleTypes

Design

SqlTypes

System.Xml

XSLT

Serialization

XPath

System

Collections

Publicité

IO

Security

Runtime

InteropServices

Configuration

Net

ServiceProcess

Remoting

Diagnostics

Reflection

Text

Serialization

Globalization

Resources

Threading

25

10/03/2016

<!-- Slide number: 26 -->

4- Architecture .net: (9/10)

![](Picture2.jpg)

La quatri me couche:

![](Picture2.jpg)

4

Cest l'environnement d'ex cution commun de tous les programmes s'ex cutant dans l'environnement .NET

Cest la machine virtuelle .net, similaire celle du java.

Le CLR ex cute un bytecode crit dans un langage interm diaire CIL ou Common Intermediate Language ( anciennement MSIL)

26

10/03/2016

<!-- Slide number: 27 -->

4- Architecture .net: (10/10)

![](Picture2.jpg)

Common Intermediate Language (CIL)

Common Language Runtime (CLR)

Windows XP

Windows 2000

NT 4.0*

Windows 98, Me

PocketPC*

&

Impl ment e par MS

27

<!-- Slide number: 28 -->

5- Fonctionnement: (1/5)

![](Picture2.jpg)

Rappelons qu'un ordinateur ne sait ex cuter que des programmes crits en instructions machines compr hensibles par son processeur central.

La famille des langages volu s (ou langages de haut niveau) ne sont pas compr hensibles imm diatement par le processeur de l'ordinateur. Il est donc n cessaire d'effectuer une "traduction" d'un programme crit en langage volu afin que le processeur puisse l'ex cuter.

Les deux voies utilis es pour ex cuter un programme volu sont la compilation ou l'interpr tation :

28

10/03/2016

<!-- Slide number: 29 -->

5- Fonctionnement: (2/5)

![](Picture2.jpg)

Un compilateur du langage X pour un processeur P, est un logiciel qui traduit un programme source crit en X en un programme cible crit en instructions machines ex cutables par le processeur P.

Un interpr teur du langage X pour le processeur P, est un logiciel qui ne produit pas de programme cible mais qui effectue lui-m me imm diatement les op rations sp cifi es par le programme source.

29

10/03/2016

<!-- Slide number: 30 -->

5- Fonctionnement: (3/5)

![](Picture2.jpg)

Notion de pseudo-machine:

pseudo-machine ou p-machine cest un processeur virtuel. Le processeur P n'est pas une machine qui existe physiquement mais un logiciel simulant (ou interpr tant) une machine r elle.

pseudo-code (byteCode): code r sultant de la traduction du programme source par le compilateur en instructions de la pseudo-machine.

La p-machine standard peut ainsi tre implant e dans n'importe quel ordinateur physique travers un logiciel qui simule son comportement; un tel logiciel est appel interpr teur de la p-machine.

30

10/03/2016

<!-- Slide number: 31 -->

5- Fonctionnement (4/5)

![](Picture2.jpg)

Donc dans le cas d'une p-machine le programme source est compil , mais le programme cible est ex cut par l'interpr teur de la p-machine.

Tous les langages de la plateforme.NET fonctionnent selon ce principe.(p-machine est incluse dans le CLR)

![](Picture2.jpg)

compilateur (JIT)

P-Machine

![](Picture4.jpg)

Compiler en code natif

![](Picture8.jpg)

bytecode

![](Picture4.jpg)

Compiler

en code

CIL

public static void Main(String[] args )

{ String usr; FileStream f; StreamWriter w;

try {

usr=Environment.GetEnvironmentVariable("USERNAME");

f=new FileStream(C:\\test.txt",FileMode.Create);

w=new StreamWriter(f);

w.WriteLine(usr);

w.Close();

} catch (Exception e){

Console.WriteLine("Exception:"+e.ToString());

}

}

![](Picture6.jpg)

public static void Main(String[] args )

{ String usr; FileStream f; StreamWriter w;

try {

usr=Environment.GetEnvironmentVariable("USERNAME");

f=new FileStream(C:\\test.txt",FileMode.Create);

w=new StreamWriter(f);

w.WriteLine(usr);

w.Close();

} catch (Exception e){

Console.WriteLine("Exception:"+e.ToString());

}

}

![](Picture6.jpg)

![](Picture18.jpg)

Source code

CIL

![](Picture6.jpg)

compilateur du

langage utilis

C#

J#

VB

Cobol

&

![](Picture58.jpg)

Code Executable .exe

P-Physique

31

10/03/2016

<!-- Slide number: 32 -->

5- Fonctionnement (5/5)

![](Picture2.jpg)

![](Picture2.jpg)

32

10/03/2016

<!-- Slide number: 33 -->

III- Environnement & Contr les

iii

Environnement et Contr les

33

10/03/2016

<!-- Slide number: 34 -->

III- Environnement & Contr les

Environnement.

Formes.

Contr les de Base.

Contr les avanc s.

34

10/03/2016

<!-- Slide number: 35 -->

1- Environnement: (1/9)

Le point de d part d'une application C#, c'est une solution. Une solution est un fichier *.sln contenant les informations de la solution.

Dans une solution C#, nous pouvons ins rer nos projets. Une m me solution peut contenir plusieurs projets.

Dans chaque projet, on peut en rassembler plusieurs dizaines de formulaire ou form . Chaque formulaire sera sauvegard dans un fichier diff rent, dont l'extension sera .cs. Il faut noter que c'est dans ces fichiers .cs que se trouve le code proprement dit

<!-- Slide number: 36 -->

1- Environnement: (2/9)

Nouveau projet:

![](Image2.jpg)

36

10/03/2016

<!-- Slide number: 37 -->

1- Environnement: (3/9)

![](Picture19.jpg)

<!-- Slide number: 38 -->

1- Environnement: (4/9)

![](Picture22.jpg)

Barre de menu et barre doutils

Affichage des ressources, zone de travail..

Zone de d boguage

10/03/2016

38

<!-- Slide number: 39 -->

1- Environnement: (5/9)

Compilation et ex cution dun programme C# sous VS.net: (d bogage)

En programmation on rencontre trois types derreurs qui sont :

  • Les erreurs de syntaxe
  • Les erreurs dex cution
  • Les erreurs de logique

La compilation consiste chercher les erreurs et g n rer lex cutable de lapplication.

Le d bogage est la recherche des bugs (erreurs). Pour d boguer, on utilise:

Pour d marrer et arr ter l'ex cution, on utilise les boutons suivants:

![](Picture3.jpg)

![](Picture10.jpg)

39

10/03/2016

<!-- Slide number: 40 -->

1- Environnement: (6/9)

D tection des erreurs:

Si le programme ne contient pas des erreurs, alors apr s la g n ration et dans la zone de d bogage le message suivant sera affich : La g n ration a r ussi

Dans le cas contraire on trouve la liste des erreurs dans la zone de d bogage:

![](Picture15.jpg)

![](Picture7.jpg)

![](Picture16.jpg)

40

10/03/2016

<!-- Slide number: 41 -->

1- Environnement: (7/9)

Les erreurs utilisateur:

Il faut toujours v rifier ce que fait l'utilisateur et pr voir toutes les possibilit s.

Exemples :Si je demande l'utilisateur de tapez un nombre

entre 1 et 10, il faut:

V rifier qu'il a tap quelque chose.

Publicité

Que c'est bien un chiffre (pas des lettres).

Que le chiffre est bien entre 1 et 10.

Sinon il faudra reposer la question.

Capturer les erreurs avec Try Catch

try {

// Appel de la fonction susceptible de g n rer l'exception

}

catch (Exception e)

{

// traiter l'exception e

} // instruction suivante

41

10/03/2016

<!-- Slide number: 42 -->

1- Environnement: (8/9)

Les erreurs utilisateur:

Exemples :

try

{ int i1 = int.Parse("abcd");

Console.WriteLine(i1);

}

catch (Exception e) {

Console.WriteLine("Erreur :"+e.Message);

}

<!-- Slide number: 43 -->

1- Environnement: (9/9)

G n ration de fichier executable:

La g n ration de lex cutable seffectue travers le menu

G n rer qui propose comme possibles options la G n ration de la solution ou sa R g n ration .

quune ou plusieurs Dll

(Dynamic Link Library) sont g n r es et plac es dans un dossier situ la racine du projet et qui porte le nom de Bin, d pendamment de loption de compilation choisi lex cutable sera plus sp cifiquement d ploy dans un sous dossier du dossier BIN intitul Debug ou Release.

![](Picture15.jpg)

43

10/03/2016

<!-- Slide number: 44 -->

2- Les Forms: (1/7)

![](Picture2.jpg)

Elle correspondent aux fen tres

ou 'formulaires.

Pour chaque form est associ deux fichiers:

NomForm.cs.deseigner: g n r automatiquement par le concepteur de vue

NomForm.cs: permet d crire la logique du formulaire, les traitements des actions &

![](Picture5.jpg)

Code source de la Form

Graphique de la Form (design)

![](Picture4.jpg)

44

10/03/2016

<!-- Slide number: 45 -->

2- Les Forms: (2/7)

![](Picture4.jpg)

Partial: la classe est d finie plusieurs endroits

InitializeCompnent(): cr e dans le fichier Form1.Designer.cs

45

10/03/2016

<!-- Slide number: 46 -->

2- Les Forms: (3/7)

Propriet s:

Propri t (ou bien attribut): Information qui caract rise la fen tre.

La fen tre poss de des propri t s qui peuvent tre modifi es en mode design dans la fen tre 'Propri t s' droite ou par du code.

Exemples:

![](Picture3.jpg)

Name :Nom du formulaire. (Abr viation frm: (exp: frmClient)

Text : Texte qui appara tra dans la barre de titre en haut.

Icon : Permet dassocier la Form un fichier ic ne.

WindowState : Donne l tat de la fen tre :

Plein cran(FormWindowState.Maximized),

normale(FormWindowState.Normal),

dans la barre de tache(FormWindowState.Minimized).

46

10/03/2016

<!-- Slide number: 47 -->

2- Les Forms: (4/7)

Exemples propri t s:

![](Picture2.jpg)

StartPosition : Permet de choisir la position de la fen tre lors de son ouverture. (Fen tre au centre de l cran ? la position lors de la conception.

MinSize et MaxSize: Donne les dimensions minimums et maximums que l'on peut utiliser pour redimensionner une fen tre.

FormBorderStyle: Permet de choisir le type des bords de la fen tre : sans bord (None), bord simple (FixedSingle)ne permettant pas lutilisateur de modifier la taille de la fen tre, bord permettant la modification de la taille de la fen tre (Sizable)

&.

47

10/03/2016

<!-- Slide number: 48 -->

2- Les Forms: (5/7)

M thodes:

Appel aussi op ration, cest une action faite par la Form.

Exemple:

.Show(): ouvre le formulaire de mani re non bolcquante (le charge en m moire sil nest pas encore charg )

.ShowDialog(): ouvre le formulaire en mode modal

.Close(): permet de fermer le formulaire.

.Hide(): rend la fen tre invisible mais reste en m moire.

&

![](Picture2.jpg)

48

10/03/2016

<!-- Slide number: 49 -->

2- Les Forms: (6/7)

Ev nements:

Formulaire a un cycle de vie D clencher des v nements sp cifiques:

Ev nement load: correspond la cr ation du formulaire en m moire, se l ve quand la m thode show ou showDialog est appel e la 1i re fois.

Ev nement Activated: d clench lorsque le formulaire re oit le focus.

Ev nement Deactivate : d clench lorsque le formulaire perd le focus.

Ev nement FormClosing: lev lors de lappel de la m thode Close ou click sur le bouton de fermeture du formulaire v rifier et valider les donn es de lutilisateur avant fermeture ( annuler la fermeture par e.cancel=true;)

49

10/03/2016

<!-- Slide number: 50 -->

2- Les Forms: (7/7)

Modification du formulaire de d marrage:

Formulaire de d marrage: celui qui est ouvert par d faut lorsque lapplication est lanc e

Classe instanci e dans le fichier Program.cs.

Changer lappel de la m thode Run par instancier le formulaire voulu

![](Picture2.jpg)

50

10/03/2016

<!-- Slide number: 51 -->

3- Les contr les de base: (1/9)

![](Picture2.jpg)

Les MessageBox.

Les boutons.

Les TextBox.

Les labels.

Les Cases cocher.

Les Contr les 'liste

Regroupement de contr les.

MainMenu ContextMenu.

ToolBar StatusBar

Image.

51

10/03/2016

<!-- Slide number: 52 -->

3- Les contr les de base: (2/9)

Les MessageBox:

La m thode Show de la classe MessageBox affiche un message dans une bo te de dialogue, attend que l'utilisateur clique sur un bouton (Ok,Oui-Non..), puis retourne une information qui indique le bouton cliqu par l'utilisateur.

Reponse = MsessageBox.Show (Texte, titre,TypeBouton, icone)

Texte: Obligatoire. message de la bo te de dialogue.

Titre: titre de la bo te de dialogue.

TypeBoutons: le nombre et le type de boutons afficher :

| Valeur | Description |

| --- | --- |

| MessageBoxButtons.OKOnly | Un seul bouton Ok |

| MessageBoxButtons.YesNo | Deux boutons Oui Non |

| MessageBoxButtons.OkCancel | Ok et Annuler |

| MessageBoxButtons.AbortRetryIgnore | Annule Recommence Ignore |

52

10/03/2016

<!-- Slide number: 53 -->

3- Les contr les de base: (3/9)

![](Picture4.jpg)

Icone: le style d'ic ne utiliser :

MessageBoxIcon.Critical

MessageBoxIcon.Exclamation

MessageBoxIcon.Question

MessageBoxIcon.Information

![](Picture5.jpg)

Reponse: Objet de la classe DialogResult

Exemple:

![](Picture3.jpg)

![](Picture2.jpg)

53

10/03/2016

<!-- Slide number: 54 -->

3- Les contr les de base: (4/9)

Les boutons:

Composant de base pour les formulaires, il sert ex cuter une action.

![](Picture4.jpg)

![](Picture2.jpg)

Name: est utilis pour lui donner un nom explicite (Abr viation btn)

FlatStyle: donne un aspect au bouton (Flat, standard, System)

Text :contient le texte a afficher sur le bouton.

ForeColor: correspond la couleur de ce texte.

BackColor: tant la couleur du fond.

TextAlign: permet de positionner le texte dans le bouton.

Image: contient le nom de limage afficher sur le bouton

![](Picture5.jpg)

![](Picture6.jpg)

54

10/03/2016

<!-- Slide number: 55 -->

3- Les contr les de base: (5/9)

Les Textbox:

Contr les permettant de saisir du texte.

![](Picture3.jpg)

![](Picture2.jpg)

Name: est utilis pour lui donner un nom explicite (Abr viation txt)

Text :permet aussi de modifier le texte visible dans le contr le

Multiline : autorise ou non l criture sur plusieurs lignes.

Scrollbars : fait figurer une barre de d filement horizontale ou verticale (ou les deux)

PaswordChar : crypte le texte entr sous forme d toiles.

MaxLength : limite le nombre de caract res quil est possible de saisir.

TextBox1.MaxLength= 3 'limite la saisie 3 caract res.

TextBox1.MaxLength= 0 'ne limite pas la saisie.

TextLength: donne la longueur du texte

55

10/03/2016

<!-- Slide number: 56 -->

Publicité

3- Les contr les de base: (6/9)

Les Labels:

On en a d j utilis pour afficher du texte non modifiable par l'utilisateur.

Les contr les Label sont g n ralement utilis s pour fournir un texte descriptif un contr le.

![](Picture2.jpg)

![](Picture3.jpg)

![](Picture4.jpg)

Name: est utilis pour lui donner un nom explicite (Abr viation lbl)

Text :permet aussi de modifier le texte visible dans le contr le

Font: Chnge le font du texte.

Alignement: permet de d finir l'alignement du texte dans l' tiquette (centr , droite, gauche),

BorderStyle: permet de mettre une bordure (un tour) ou non..

56

10/03/2016

<!-- Slide number: 57 -->

3- Les contr les de base: (7/9)

Les cases cocher:

Il y a 2 sortes de case cocher:

Les CheckBox. (abr viation pour name, cb)

Les " cases cocher " (CheckBox): utilis es pour donner lutilisateur la possibilit de choisir plusieurs cas parmi un ensemble de cas.

Les RadioButton (abr viation pour name, rb)

Les " Bouton radio" (RadioButton): utilis es pour donner lutilisateur la possibilit de choisir un seul cas parmi un ensemble de cas.

Chacked: Sa valeur change de False True si la case est coch e.

![](Picture3.jpg)

![](Picture4.jpg)

![](Picture5.jpg)

![](Picture2.jpg)

57

10/03/2016

<!-- Slide number: 58 -->

3- Les contr les de base: (8/9)

Les Contr les Listes:

![](Picture4.jpg)

Il y a 2 sortes de listes:

Les ListBox.

Affiche une liste d' l ments (d'objets) dans laquelle l'utilisateur peut faire un ou plusieurs choix.

La listBox contient une collection d'"Item":

Les ComboBox.

Elles peuvent tre d roulantes ou d j d roul e: cest- dire quon ne voit quun seul l ment de la liste la fois, et quil faut cliquer sur la fl che du c t pour " d plier " la liste, ou bien que la liste est d j visible.

![](Picture2.jpg)

![](Picture5.jpg)

![](Picture3.jpg)

58

10/03/2016

<!-- Slide number: 59 -->

3- Les contr les de base: (9/9)

![](Picture2.jpg)

59

10/03/2016

<!-- Slide number: 60 -->

4- Les contr les avanc s (1/4):

Menu:

Utiliser le contr le MenuStrip pour cr er un menu

Un MenuStrip contient une collection de contr les ToolStripMenuItem

Ajouter & avant un caract re du titre du menu pour pouvoir acc der au menu partir du clavier avec Alt-caract re (ici Alt-F)

Utiliser le contr le ContextMenuStrip pour pouvoir afficher un menu si on clique sur le bouton droit dun l ment de lapplication

![](Picture4.jpg)

![](Picture3.jpg)

60

10/03/2016

<!-- Slide number: 61 -->

4- Les contr les avanc s (2/4):

Conteneurs:

Permet de regrouper dautres contr les

La modification des propri t s dun conteneur peut entra ner la modification des propri t s des contr les quil contient

Exemple: Panel, GroupBox, TabControl&

TabControl: permet de grouper dautres conteneurs sous forme donglets dans la collection TabPages

![](Picture2.jpg)

61

10/03/2016

<!-- Slide number: 62 -->

4- Les contr les avanc s (3/4):

! (Picture2.jpg)

![](Picture11.jpg)

Composant Timer : est

non visible dans linterface:

Quelques propri t s d'un Timer int ressantes :

Interval : entier repr sentant la dur e (exprim e en millisecondes) entre deux tics. Par d faut cette dur e vaut 100ms.

Start : m thode qui d marre le Timer.

Stop : m thode qui arr te le Timer.

Tick : gestionnaire d' v nements qui lance un v nement chaque tic.

![](Picture12.jpg)

<!-- Slide number: 63 -->

4- Les contr les avanc s (4/4):

! (Picture2.jpg)

Variateurs ScrollBar:

Variateur horizontal (HScrollBar)

Variateur vertical (VScrollBar)

Incr menteur (NumericUpDown)

R le: choisir une valeur dans une plage de valeurs enti res symbolis e par la "bande" du variateur sur laquelle se d place un curseur. La valeur du variateur est disponible dans sa propri t Value.

Valeurs aux extr mit s : propri t s Minimum et Maximum, par d faut 0 et 100.

L' v nement principal du variateur est celui qui signale un changement de valeur : l' v nement Scroll.

![](Picture7.jpg)

![](Picture9.jpg)

![](Picture8.jpg)

<!-- Slide number: 64 -->

! (Picture2.jpg)

5- Gestion d' v nements (1/4)

Principe:

On attache un gestionnaire d' v nements ("event handlers") un v nement

(on dit que l'on s'abonne l' v nement) en sp cifiant une m thode.

Cette m thode est appel e lorsque l' v nement est d clench .

Exemple:

Objet= bouton + ev nement = double-clique

cela va cr er un gestionnaire d' v nements.

code g n r (par le double-clic) dans Form1.Designer.cs :

this.myTestButton.Click += new System.EventHandler(this.myTestButton_Click);

La propri t Click de mon bouton myTestButton est un gestionnaire d' v nements, cela signifie que des m thodes vont tre appel es par myTestButton chaque fois que je clique dessus, la m thode appel e est myTestButton_Click.

64

10/03/2016

<!-- Slide number: 65 -->

5- Gestion d' v nements (2/4)

Du code a aussi t g n r automatiquement dans Form1.cs :

private void m_myTestButton_Click(object sender, EventArgs e)

{

}

Cela d finit une fonction priv e, qui ne retourne rien et prend en param tres deux choses :

un objet de type " object " nomm sender (ici c'est myTestButton) ;

un objet de type "EventArgs" nomm e (pour "event") contenant des informations sur l' v nement.

Exemple:

private void myTestButton_Click(object sender, EventArgs e)

{ myTestButton.Text = "Bouton cliqu !";

}

<!-- Slide number: 66 -->

5- Gestion d' v nements (3/4)

Exemples d v nements:

Click: lutilisateur clique sur le contr le

DoubleClick: lutilisateur double-clique sur le contr le

GotFocus: le contr le re oit le focus

LostFocus: le contr le perd le focus

Move: lobjet et d plac

Paint: lobjet est redessin

TextChanged: la propri t Text a t modifi

KeyPress: Une touche clavier (ayant un code ASCII) est enfonc e

KeyUp et KeyDown: la touche les touches Alt, Ctrl, Suppr ou Shift ont t enfonc es ou rel ch es

Validating: est le lev quand le contr le perd le focus et avant de le passer au contr le suivant,

Validated: si la validation sest bien pass e avec validating , l v nement Validated est d clench permettant deffectuer toute action avec les donn es valid es.

<!-- Slide number: 67 -->

5- Gestion d' v nements (4/4)

Ev nements Souris: Les v nements survenant lors d'un d placement de la souris sur le formulaire ou sur un contr le

Les v nements survenant lors d'un glisser / l cher (Drag'nDrop)

MouseEnter: la souris vient d'entrer dans le domaine du contr le

MouseLeave la souris vient de quitter le domaine du contr le

MouseMove la souris bouge dans le domaine du contr le

MouseDown Pression sur le bouton gauche de la souris

MouseUp Rel chement du bouton gauche de la souris

![](Picture10.jpg)

DragDrop l'utilisateur l che un objet sur le contr le

DragEnter l'utilisateur entre dans le domaine du contr le en tirant un objet

DragLeave l'utilisateur sort du domaine du contr le en tirant un objet

DragOver l'utilisateur passe au-dessus domaine du contr le en tirant un objet

![](Picture11.jpg)

<!-- Slide number: 68 -->

IV- El ment du langage C#

IV

! (Picture12.jpg)

El ments du Langage C#

68

10/03/2016

<!-- Slide number: 69 -->

! (Picture10.jpg)

IV- El ments du langage C#:

Les types.

Les op rateurs.

Les cha nes de caract res.

Les conversions de types

Les num rations

Les tableaux

La classe Array

Les collections

Les structures

Les instructions de contr le

Les m thodes

69

10/03/2016

<!-- Slide number: 70 -->

1- Les Types: (1/3)

! (Picture350.jpg)

C# est un langage fortement typ , c'est- -dire que toutes les op rations sur des variables sont effectu es en tenant compte de leur type.

Pour allouer de la m moire une variable, on cr e une instruction avec dune part le type et dautre part le nom de la variable: type nom_variable;

C# supporte deux sortes de types:

Les types valeur qui incluent les types simples (char, int..), les types enum ( num rations) et les types struct (structures)

Les types r f rence qui incluent les types class (classes), interface (interfaces), delegate (d l gu s) et array (tableaux)

70

10/03/2016

<!-- Slide number: 71 -->

| Classe | Alias | Octets | Valeurs cod es |

| --- | --- | --- | --- |

| System.SByte | sbyte | 1 | -128 127 |

| System.Byte | byte | 1 | 0 255 |

| System.Int16 | short |...

Page 1 sur 108Lecteur de document UniversityLib

Programmation événementielle (C# sous le framework .Net)

Institut Supérieur des Études Technologiques de Bizerte · Event-Driven Programming, .Net Platform, Microsoft Visual Studio · notes

Browse all programmation documents

<!-- Slide number: 1 -->

! (Picture2.jpg)

! (Picture5.jpg)

Institut Sup rieur des Etudes Technologique de Bizerte

D partement Technologies de lInformatique

Programmation v nementielle(C# sous le framework .Net)

![](Picture6.jpg)

Dapr s le cours de BEN ROMDHAN Mourad

10/03/2016

Notes:

<!-- Slide number: 2 -->

! (Picture2.jpg)

![](Picture2.jpg)

Plan

10/03/2016

Principes de la programmation v nementielle

1

Microsoft Visual Studio et la plateforme .NET

2

Environnement et contr les

3

![](Picture2.jpg)

! (Picture24.jpg)

! (Picture25.jpg)

El ments du langage C#

4

La POO en C#

5

Les bases de donn es

6

Etat de sortie et d ploiement dapplications

7

2

Notes:

Mon expos est compos de 6 parties,

Je commence dans la 1 re par pr senter mon tat civil

Ensuite je vous pr sente mon cursus des tudes suivi par les diff rents projets et stages que jai r alis s.

Dans la 4 me partie je vous pr sente ma exp rience professionnelle et dans la 5 me mes diff rentes activit s p dagogiques,

Je termine cet expos par quelques perspectives et ambitions

<!-- Slide number: 3 -->

![](Picture5.jpg)

! (Picture7.jpg)

I- Prog v nementielle:

I

![](Picture5.jpg)

! (Picture7.jpg)

Principes de la Programmation v nementielle

3

10/03/2016

<!-- Slide number: 4 -->

I- Prog v nementielle:

![](Picture5.jpg)

! (Picture7.jpg)

Pr sentation.

D finitions.

Exemple de programme.

4

10/03/2016

Notes:

<!-- Slide number: 5 -->

![](Picture5.jpg)

! (Picture7.jpg)

1- Pr sentation: (1/2)

Programmation classique : (console)

![](Picture3.jpg)

![](Picture4.jpg)

1

Entr e de valeur&

2

![](Picture3.jpg)

UTILISATEUR

Lutilisateur fait ce que lui demande lapplication.

Lapplication a le contr le.

5

10/03/2016

Notes:

<!-- Slide number: 6 -->

![](Picture5.jpg)

! (Picture7.jpg)

1- Pr sentation: (2/2)

Prog v nementielle : (Interfaces graphiques)

![](Picture3.jpg)

![](Picture3.jpg)

1

2

![7761605](Image19.jpg)

![12243447](Image20.jpg)

UTILISATEUR

On peut tout moment s lectionner, cliquer, changer de fen tre ...

Application toujours pr te r agir.

Application esclave de lutilisateur.

Lutilisateur a le contr le.

6

10/03/2016

Notes:

<!-- Slide number: 7 -->

![](Picture5.jpg)

! (Picture7.jpg)

2- D finitions: (1/4)

Objet graphique: Composant syst me appel et utilis par les applications graphiques.

Un v nement: est une action mise par un utilisateur ou un programme sur un objet graphique pour d clencher un traitement.

Exemples d v nements:

![](Picture3.jpg)

Fen tre

![](Picture6.jpg)

Bouton radio

![](Picture7.jpg)

Cases cocher

![](Picture5.jpg)

Zone de texte

![](Picture4.jpg)

Bouton

Fermer une fen tre,

Simple Click sur un bouton,

Double Click sur un bouton,

Bouger la souris,

Minimiser une fen tre,

&.

7

10/03/2016

Notes:

<!-- Slide number: 8 -->

![](Picture5.jpg)

! (Picture7.jpg)

2- D finitions: (2/4)

Un v nement contient des infos d pendant du type d v nement,

par exemple, la position (x, y) de la souris pendant le mouvement,&.

Une interface de programme Windows est constitu e de contr les avec lesquels lutilisateur interagit.

Les v nements sont lev s par le syst me, suite une action de lutilisateur sur un contr le ou par une activit interne.

Les v nements: des signaux syst me.

8

10/03/2016

Notes:

<!-- Slide number: 9 -->

![](Picture5.jpg)

! (Picture7.jpg)

2- D finitions: (3/4)

Programmation v nementielle: programmation fond e sur les v nements.

Le programme sera d fini par ses r actions aux diff rents v nements qui peuvent se produire.

Lapplication se met en attente des v nements.

![](Picture4.jpg)

![](Picture5.jpg)

![](Picture6.jpg)

9

10/03/2016

Notes:

<!-- Slide number: 10 -->

![](Picture5.jpg)

! (Picture7.jpg)

2- D finitions: (4/4)

Les composants (objets graphiques) d'une application v nementielle interagissent entre eux et avec l'environnement. Ils communiquent en r ponse des v nements.

L'application a une boucle principale divis e en deux sections :

la premi re section d tecte les v nements,

la seconde les g re.

Ev nement

![](Picture5.jpg)

! (Picture7.jpg)

Traitement correspondant

Boucle de gestion des v nements

10

10/03/2016

Notes:

<!-- Slide number: 11 -->

![](Picture5.jpg)

! (Picture7.jpg)

3- Exemple de prog v nementielle:

![](Image14.jpg)

11

10/03/2016

Notes:

<!-- Slide number: 12 -->

! (Picture2.jpg)

II- Ms Visual Studio et la plateforme .NET

Visual Studio: pr sentation

Visual Studio: Historique

La plate-forme .NET

Architecture .net

Fonctionnement

12

10/03/2016

Notes:

<!-- Slide number: 13 -->

1-Pr sentation: (1/2)

! (Picture2.jpg)

Microsoft Visual Studio: Environnement de d veloppement cr par Microsoft pour d velopper des applications qui tournent sous Microsoft Windows.

Visual: un outil visuel qui fournit la notion de programmation d'interface graphique (GUI - Graphical User Interface).

En GUI on dispose l'aide de la souris des l ments graphiques (boutons, images, champs de texte, menus d roulants,...) et on pr pare le traitement correspondant aux v nements.

Utilisation simple des API (Application Programming Interface) Windows: lensemble des fonctions et composants syst mes qui peuvent tre appel s partir du code dans les projets.

13

10/03/2016

<!-- Slide number: 14 -->

1-Pr sentation: (2/2)

! (Picture2.jpg)

Visual Studio est un ensemble complet d'outils de d veloppement permettant de g n rer:

Advertisement

Des applications Windows: VB, C++, C#, J#,..

Des applications Web: ASP, ASP.NET,

Des Services Web: XML,

Des applications mobiles.

! (Picture35.jpg)

! (Picture36.jpg)

! (Picture39.jpg)

! (Picture33.jpg)

! (Picture40.jpg)

! (Picture32.jpg)

! (Picture34.jpg)

! (Picture44.jpg)

! (Picture24.jpg)

! (Picture25.jpg)

! (Picture22.jpg)

! (Picture43.jpg)

14

10/03/2016

<!-- Slide number: 15 -->

! (Picture2.jpg)

2- Historique:

Visual Studio 1.0, 2.0, 3.0 (sous Windows 3.1)

Visual Studio 4.0 en 1995 (sous Windows 95 )

Visual Studio 5.0 en 1997

Visual Studio 6.0 en 1998 (sous Windows 98 )

Visual Studio 2002 version 7.0 ('introduction du Framework .NET 1.0)

Visual Studio 2003 version 7.1, framework .NET 1.1

Visual Studio 2005 version 8.0, framework .NET 2

Visual Studio 2008 version 9.0, framework .NET 3.5

Visual Studio 2010 version 10.0, framework .NET 4

Visual Studio 2012 version 11.0, framework .NET 4.5

Visual Studio 2013 version 12.0, framework .NET 4.5

Microsoft Visual Studio Express: version all g e gratuite pour des buts ducatifs partir de 2005.

22 juin 2000, date de la premi re annonce de linitiative .NET (ou en anglais dot net) par Bill Gates.

15

10/03/2016

<!-- Slide number: 16 -->

3- La plate-forme .NET: (1/2)

![](Picture2.jpg)

Appel en anglais Framework dotnet.

Un ensemble de technologies pour d velopper et utiliser des composants :

Formulaires Web

Services Web

Applications Windows

La plus grande volution chez Microsoft depuis le passage de DOS Windows.

Une biblioth que de fonctions qui couvre la totalit des API Windows.

16

10/03/2016

<!-- Slide number: 17 -->

3- La plate-forme .NET: (2/2)

![](Picture2.jpg)

Support dun grand nombre de langages.

Toutes les fonctionnalit s de la plateforme .NET sont disponibles dans tous les langages.

Les langages disponibles:

Perl

Python

Cobol

Haskell

ML

JScript

Ada

APL

Eiffel

Pascal

Fortran

Managed C++

Visual Basic

C#

J#

SmallTalk

Oberon

Scheme

Mercury

Oz

Objective Caml

Delphi

&

17

10/03/2016

<!-- Slide number: 18 -->

4- Architecture .net: (1/10)

![](Picture2.jpg)

![](Picture2.jpg)

1

2

3

4

18

10/03/2016

<!-- Slide number: 19 -->

4- Architecture .net: (2/10)

![](Picture2.jpg)

La premi re Couche CLS:

![](Picture2.jpg)

1

CLS: Compos e des sp cifications communes tous les langages.

La CLS est une sorte de sous-ensemble minimal de sp cifications pour donner un langage commun entre tous les langages de .NET (chaque langage devra trouver ou construire un quivalent valable dans sa syntaxe et son syst me de type)

19

10/03/2016

<!-- Slide number: 20 -->

4- Architecture .net: (3/10)

![](Picture2.jpg)

Common Types System:

![](Picture2.jpg)

20

10/03/2016

<!-- Slide number: 21 -->

4- Architecture .net: (4/10)

![](Picture2.jpg)

*.vb

*.cpp

*.cs

*.jsl

*.js

*.cob

*.?

VB

C++

C#

J#

JScript

Cobol

&

Respectent la Common Language Specification (CLS)

Common Intermediate Language CIL)

Ind pendant de la plate-forme hardware

21

10/03/2016

<!-- Slide number: 22 -->

4- Architecture .net: (5/10)

![](Picture2.jpg)

La seconde couche:

![](Picture2.jpg)

2

Ensemble de composants graphiques disponibles dans Visual Studio.NET qui permettent de construire des interfaces homme-machine orient es Web (services Web) ou bien orient es applications classiques avec IHM.

Les donn es sont acc d es dans le cas des services Web travers le protocole XML.

22

10/03/2016

<!-- Slide number: 23 -->

4- Architecture .net: (6/10)

![](Picture2.jpg)

La troisi me couche:

3

![](Picture2.jpg)

Constitu e d'une vaste librairie de plusieurs centaines de classes et peut tre tendue par lint gration de nouvelles classes.

Cette librairie a la m me fonction que la biblioth que des classes de Java.

La librairie de classe de .NET Framework est organis e en espaces de nom hi rarchis s comme les paquetages en java.

23

10/03/2016

<!-- Slide number: 24 -->

4- Architecture .net: (7/10)

![](Picture2.jpg)

Common Intermediate Language (CIL)

Framework Class Library

Accessible depuis tous les langages

Common Language Runtime (CLR)

24

10/03/2016

<!-- Slide number: 25 -->

4- Architecture .net: (8/10)

![](Picture2.jpg)

System.Windows.Forms

Design

ComponentModel

System.Web

Services

UI

Description

HtmlControls

Discovery

WebControls

Protocols

Caching

Security

Configuration

SessionState

System.Drawing

Drawing2D

Printing

Imaging

Text

System.Data

OracleClient

OleDb

SqlClient

OracleTypes

Design

SqlTypes

System.Xml

XSLT

Serialization

XPath

System

Collections

Advertisement

IO

Security

Runtime

InteropServices

Configuration

Net

ServiceProcess

Remoting

Diagnostics

Reflection

Text

Serialization

Globalization

Resources

Threading

25

10/03/2016

<!-- Slide number: 26 -->

4- Architecture .net: (9/10)

![](Picture2.jpg)

La quatri me couche:

![](Picture2.jpg)

4

Cest l'environnement d'ex cution commun de tous les programmes s'ex cutant dans l'environnement .NET

Cest la machine virtuelle .net, similaire celle du java.

Le CLR ex cute un bytecode crit dans un langage interm diaire CIL ou Common Intermediate Language ( anciennement MSIL)

26

10/03/2016

<!-- Slide number: 27 -->

4- Architecture .net: (10/10)

![](Picture2.jpg)

Common Intermediate Language (CIL)

Common Language Runtime (CLR)

Windows XP

Windows 2000

NT 4.0*

Windows 98, Me

PocketPC*

&

Impl ment e par MS

27

<!-- Slide number: 28 -->

5- Fonctionnement: (1/5)

![](Picture2.jpg)

Rappelons qu'un ordinateur ne sait ex cuter que des programmes crits en instructions machines compr hensibles par son processeur central.

La famille des langages volu s (ou langages de haut niveau) ne sont pas compr hensibles imm diatement par le processeur de l'ordinateur. Il est donc n cessaire d'effectuer une "traduction" d'un programme crit en langage volu afin que le processeur puisse l'ex cuter.

Les deux voies utilis es pour ex cuter un programme volu sont la compilation ou l'interpr tation :

28

10/03/2016

<!-- Slide number: 29 -->

5- Fonctionnement: (2/5)

![](Picture2.jpg)

Un compilateur du langage X pour un processeur P, est un logiciel qui traduit un programme source crit en X en un programme cible crit en instructions machines ex cutables par le processeur P.

Un interpr teur du langage X pour le processeur P, est un logiciel qui ne produit pas de programme cible mais qui effectue lui-m me imm diatement les op rations sp cifi es par le programme source.

29

10/03/2016

<!-- Slide number: 30 -->

5- Fonctionnement: (3/5)

![](Picture2.jpg)

Notion de pseudo-machine:

pseudo-machine ou p-machine cest un processeur virtuel. Le processeur P n'est pas une machine qui existe physiquement mais un logiciel simulant (ou interpr tant) une machine r elle.

pseudo-code (byteCode): code r sultant de la traduction du programme source par le compilateur en instructions de la pseudo-machine.

La p-machine standard peut ainsi tre implant e dans n'importe quel ordinateur physique travers un logiciel qui simule son comportement; un tel logiciel est appel interpr teur de la p-machine.

30

10/03/2016

<!-- Slide number: 31 -->

5- Fonctionnement (4/5)

![](Picture2.jpg)

Donc dans le cas d'une p-machine le programme source est compil , mais le programme cible est ex cut par l'interpr teur de la p-machine.

Tous les langages de la plateforme.NET fonctionnent selon ce principe.(p-machine est incluse dans le CLR)

![](Picture2.jpg)

compilateur (JIT)

P-Machine

![](Picture4.jpg)

Compiler en code natif

![](Picture8.jpg)

bytecode

![](Picture4.jpg)

Compiler

en code

CIL

public static void Main(String[] args )

{ String usr; FileStream f; StreamWriter w;

try {

usr=Environment.GetEnvironmentVariable("USERNAME");

f=new FileStream(C:\\test.txt",FileMode.Create);

w=new StreamWriter(f);

w.WriteLine(usr);

w.Close();

} catch (Exception e){

Console.WriteLine("Exception:"+e.ToString());

}

}

![](Picture6.jpg)

public static void Main(String[] args )

{ String usr; FileStream f; StreamWriter w;

try {

usr=Environment.GetEnvironmentVariable("USERNAME");

f=new FileStream(C:\\test.txt",FileMode.Create);

w=new StreamWriter(f);

w.WriteLine(usr);

w.Close();

} catch (Exception e){

Console.WriteLine("Exception:"+e.ToString());

}

}

![](Picture6.jpg)

![](Picture18.jpg)

Source code

CIL

![](Picture6.jpg)

compilateur du

langage utilis

C#

J#

VB

Cobol

&

![](Picture58.jpg)

Code Executable .exe

P-Physique

31

10/03/2016

<!-- Slide number: 32 -->

5- Fonctionnement (5/5)

![](Picture2.jpg)

![](Picture2.jpg)

32

10/03/2016

<!-- Slide number: 33 -->

III- Environnement & Contr les

iii

Environnement et Contr les

33

10/03/2016

<!-- Slide number: 34 -->

III- Environnement & Contr les

Environnement.

Formes.

Contr les de Base.

Contr les avanc s.

34

10/03/2016

<!-- Slide number: 35 -->

1- Environnement: (1/9)

Le point de d part d'une application C#, c'est une solution. Une solution est un fichier *.sln contenant les informations de la solution.

Dans une solution C#, nous pouvons ins rer nos projets. Une m me solution peut contenir plusieurs projets.

Dans chaque projet, on peut en rassembler plusieurs dizaines de formulaire ou form . Chaque formulaire sera sauvegard dans un fichier diff rent, dont l'extension sera .cs. Il faut noter que c'est dans ces fichiers .cs que se trouve le code proprement dit

<!-- Slide number: 36 -->

1- Environnement: (2/9)

Nouveau projet:

![](Image2.jpg)

36

10/03/2016

<!-- Slide number: 37 -->

1- Environnement: (3/9)

![](Picture19.jpg)

<!-- Slide number: 38 -->

1- Environnement: (4/9)

![](Picture22.jpg)

Barre de menu et barre doutils

Affichage des ressources, zone de travail..

Zone de d boguage

10/03/2016

38

<!-- Slide number: 39 -->

1- Environnement: (5/9)

Compilation et ex cution dun programme C# sous VS.net: (d bogage)

En programmation on rencontre trois types derreurs qui sont :

  • Les erreurs de syntaxe
  • Les erreurs dex cution
  • Les erreurs de logique

La compilation consiste chercher les erreurs et g n rer lex cutable de lapplication.

Le d bogage est la recherche des bugs (erreurs). Pour d boguer, on utilise:

Pour d marrer et arr ter l'ex cution, on utilise les boutons suivants:

![](Picture3.jpg)

![](Picture10.jpg)

39

10/03/2016

<!-- Slide number: 40 -->

1- Environnement: (6/9)

D tection des erreurs:

Si le programme ne contient pas des erreurs, alors apr s la g n ration et dans la zone de d bogage le message suivant sera affich : La g n ration a r ussi

Dans le cas contraire on trouve la liste des erreurs dans la zone de d bogage:

![](Picture15.jpg)

![](Picture7.jpg)

![](Picture16.jpg)

40

10/03/2016

<!-- Slide number: 41 -->

1- Environnement: (7/9)

Les erreurs utilisateur:

Il faut toujours v rifier ce que fait l'utilisateur et pr voir toutes les possibilit s.

Exemples :Si je demande l'utilisateur de tapez un nombre

entre 1 et 10, il faut:

V rifier qu'il a tap quelque chose.

Advertisement

Que c'est bien un chiffre (pas des lettres).

Que le chiffre est bien entre 1 et 10.

Sinon il faudra reposer la question.

Capturer les erreurs avec Try Catch

try {

// Appel de la fonction susceptible de g n rer l'exception

}

catch (Exception e)

{

// traiter l'exception e

} // instruction suivante

41

10/03/2016

<!-- Slide number: 42 -->

1- Environnement: (8/9)

Les erreurs utilisateur:

Exemples :

try

{ int i1 = int.Parse("abcd");

Console.WriteLine(i1);

}

catch (Exception e) {

Console.WriteLine("Erreur :"+e.Message);

}

<!-- Slide number: 43 -->

1- Environnement: (9/9)

G n ration de fichier executable:

La g n ration de lex cutable seffectue travers le menu

G n rer qui propose comme possibles options la G n ration de la solution ou sa R g n ration .

quune ou plusieurs Dll

(Dynamic Link Library) sont g n r es et plac es dans un dossier situ la racine du projet et qui porte le nom de Bin, d pendamment de loption de compilation choisi lex cutable sera plus sp cifiquement d ploy dans un sous dossier du dossier BIN intitul Debug ou Release.

![](Picture15.jpg)

43

10/03/2016

<!-- Slide number: 44 -->

2- Les Forms: (1/7)

![](Picture2.jpg)

Elle correspondent aux fen tres

ou 'formulaires.

Pour chaque form est associ deux fichiers:

NomForm.cs.deseigner: g n r automatiquement par le concepteur de vue

NomForm.cs: permet d crire la logique du formulaire, les traitements des actions &

![](Picture5.jpg)

Code source de la Form

Graphique de la Form (design)

![](Picture4.jpg)

44

10/03/2016

<!-- Slide number: 45 -->

2- Les Forms: (2/7)

![](Picture4.jpg)

Partial: la classe est d finie plusieurs endroits

InitializeCompnent(): cr e dans le fichier Form1.Designer.cs

45

10/03/2016

<!-- Slide number: 46 -->

2- Les Forms: (3/7)

Propriet s:

Propri t (ou bien attribut): Information qui caract rise la fen tre.

La fen tre poss de des propri t s qui peuvent tre modifi es en mode design dans la fen tre 'Propri t s' droite ou par du code.

Exemples:

![](Picture3.jpg)

Name :Nom du formulaire. (Abr viation frm: (exp: frmClient)

Text : Texte qui appara tra dans la barre de titre en haut.

Icon : Permet dassocier la Form un fichier ic ne.

WindowState : Donne l tat de la fen tre :

Plein cran(FormWindowState.Maximized),

normale(FormWindowState.Normal),

dans la barre de tache(FormWindowState.Minimized).

46

10/03/2016

<!-- Slide number: 47 -->

2- Les Forms: (4/7)

Exemples propri t s:

![](Picture2.jpg)

StartPosition : Permet de choisir la position de la fen tre lors de son ouverture. (Fen tre au centre de l cran ? la position lors de la conception.

MinSize et MaxSize: Donne les dimensions minimums et maximums que l'on peut utiliser pour redimensionner une fen tre.

FormBorderStyle: Permet de choisir le type des bords de la fen tre : sans bord (None), bord simple (FixedSingle)ne permettant pas lutilisateur de modifier la taille de la fen tre, bord permettant la modification de la taille de la fen tre (Sizable)

&.

47

10/03/2016

<!-- Slide number: 48 -->

2- Les Forms: (5/7)

M thodes:

Appel aussi op ration, cest une action faite par la Form.

Exemple:

.Show(): ouvre le formulaire de mani re non bolcquante (le charge en m moire sil nest pas encore charg )

.ShowDialog(): ouvre le formulaire en mode modal

.Close(): permet de fermer le formulaire.

.Hide(): rend la fen tre invisible mais reste en m moire.

&

![](Picture2.jpg)

48

10/03/2016

<!-- Slide number: 49 -->

2- Les Forms: (6/7)

Ev nements:

Formulaire a un cycle de vie D clencher des v nements sp cifiques:

Ev nement load: correspond la cr ation du formulaire en m moire, se l ve quand la m thode show ou showDialog est appel e la 1i re fois.

Ev nement Activated: d clench lorsque le formulaire re oit le focus.

Ev nement Deactivate : d clench lorsque le formulaire perd le focus.

Ev nement FormClosing: lev lors de lappel de la m thode Close ou click sur le bouton de fermeture du formulaire v rifier et valider les donn es de lutilisateur avant fermeture ( annuler la fermeture par e.cancel=true;)

49

10/03/2016

<!-- Slide number: 50 -->

2- Les Forms: (7/7)

Modification du formulaire de d marrage:

Formulaire de d marrage: celui qui est ouvert par d faut lorsque lapplication est lanc e

Classe instanci e dans le fichier Program.cs.

Changer lappel de la m thode Run par instancier le formulaire voulu

![](Picture2.jpg)

50

10/03/2016

<!-- Slide number: 51 -->

3- Les contr les de base: (1/9)

![](Picture2.jpg)

Les MessageBox.

Les boutons.

Les TextBox.

Les labels.

Les Cases cocher.

Les Contr les 'liste

Regroupement de contr les.

MainMenu ContextMenu.

ToolBar StatusBar

Image.

51

10/03/2016

<!-- Slide number: 52 -->

3- Les contr les de base: (2/9)

Les MessageBox:

La m thode Show de la classe MessageBox affiche un message dans une bo te de dialogue, attend que l'utilisateur clique sur un bouton (Ok,Oui-Non..), puis retourne une information qui indique le bouton cliqu par l'utilisateur.

Reponse = MsessageBox.Show (Texte, titre,TypeBouton, icone)

Texte: Obligatoire. message de la bo te de dialogue.

Titre: titre de la bo te de dialogue.

TypeBoutons: le nombre et le type de boutons afficher :

| Valeur | Description |

| --- | --- |

| MessageBoxButtons.OKOnly | Un seul bouton Ok |

| MessageBoxButtons.YesNo | Deux boutons Oui Non |

| MessageBoxButtons.OkCancel | Ok et Annuler |

| MessageBoxButtons.AbortRetryIgnore | Annule Recommence Ignore |

52

10/03/2016

<!-- Slide number: 53 -->

3- Les contr les de base: (3/9)

![](Picture4.jpg)

Icone: le style d'ic ne utiliser :

MessageBoxIcon.Critical

MessageBoxIcon.Exclamation

MessageBoxIcon.Question

MessageBoxIcon.Information

![](Picture5.jpg)

Reponse: Objet de la classe DialogResult

Exemple:

![](Picture3.jpg)

![](Picture2.jpg)

53

10/03/2016

<!-- Slide number: 54 -->

3- Les contr les de base: (4/9)

Les boutons:

Composant de base pour les formulaires, il sert ex cuter une action.

![](Picture4.jpg)

![](Picture2.jpg)

Name: est utilis pour lui donner un nom explicite (Abr viation btn)

FlatStyle: donne un aspect au bouton (Flat, standard, System)

Text :contient le texte a afficher sur le bouton.

ForeColor: correspond la couleur de ce texte.

BackColor: tant la couleur du fond.

TextAlign: permet de positionner le texte dans le bouton.

Image: contient le nom de limage afficher sur le bouton

![](Picture5.jpg)

![](Picture6.jpg)

54

10/03/2016

<!-- Slide number: 55 -->

3- Les contr les de base: (5/9)

Les Textbox:

Contr les permettant de saisir du texte.

![](Picture3.jpg)

![](Picture2.jpg)

Name: est utilis pour lui donner un nom explicite (Abr viation txt)

Text :permet aussi de modifier le texte visible dans le contr le

Multiline : autorise ou non l criture sur plusieurs lignes.

Scrollbars : fait figurer une barre de d filement horizontale ou verticale (ou les deux)

PaswordChar : crypte le texte entr sous forme d toiles.

MaxLength : limite le nombre de caract res quil est possible de saisir.

TextBox1.MaxLength= 3 'limite la saisie 3 caract res.

TextBox1.MaxLength= 0 'ne limite pas la saisie.

TextLength: donne la longueur du texte

55

10/03/2016

<!-- Slide number: 56 -->

Advertisement

3- Les contr les de base: (6/9)

Les Labels:

On en a d j utilis pour afficher du texte non modifiable par l'utilisateur.

Les contr les Label sont g n ralement utilis s pour fournir un texte descriptif un contr le.

![](Picture2.jpg)

![](Picture3.jpg)

![](Picture4.jpg)

Name: est utilis pour lui donner un nom explicite (Abr viation lbl)

Text :permet aussi de modifier le texte visible dans le contr le

Font: Chnge le font du texte.

Alignement: permet de d finir l'alignement du texte dans l' tiquette (centr , droite, gauche),

BorderStyle: permet de mettre une bordure (un tour) ou non..

56

10/03/2016

<!-- Slide number: 57 -->

3- Les contr les de base: (7/9)

Les cases cocher:

Il y a 2 sortes de case cocher:

Les CheckBox. (abr viation pour name, cb)

Les " cases cocher " (CheckBox): utilis es pour donner lutilisateur la possibilit de choisir plusieurs cas parmi un ensemble de cas.

Les RadioButton (abr viation pour name, rb)

Les " Bouton radio" (RadioButton): utilis es pour donner lutilisateur la possibilit de choisir un seul cas parmi un ensemble de cas.

Chacked: Sa valeur change de False True si la case est coch e.

![](Picture3.jpg)

![](Picture4.jpg)

![](Picture5.jpg)

![](Picture2.jpg)

57

10/03/2016

<!-- Slide number: 58 -->

3- Les contr les de base: (8/9)

Les Contr les Listes:

![](Picture4.jpg)

Il y a 2 sortes de listes:

Les ListBox.

Affiche une liste d' l ments (d'objets) dans laquelle l'utilisateur peut faire un ou plusieurs choix.

La listBox contient une collection d'"Item":

Les ComboBox.

Elles peuvent tre d roulantes ou d j d roul e: cest- dire quon ne voit quun seul l ment de la liste la fois, et quil faut cliquer sur la fl che du c t pour " d plier " la liste, ou bien que la liste est d j visible.

![](Picture2.jpg)

![](Picture5.jpg)

![](Picture3.jpg)

58

10/03/2016

<!-- Slide number: 59 -->

3- Les contr les de base: (9/9)

![](Picture2.jpg)

59

10/03/2016

<!-- Slide number: 60 -->

4- Les contr les avanc s (1/4):

Menu:

Utiliser le contr le MenuStrip pour cr er un menu

Un MenuStrip contient une collection de contr les ToolStripMenuItem

Ajouter & avant un caract re du titre du menu pour pouvoir acc der au menu partir du clavier avec Alt-caract re (ici Alt-F)

Utiliser le contr le ContextMenuStrip pour pouvoir afficher un menu si on clique sur le bouton droit dun l ment de lapplication

![](Picture4.jpg)

![](Picture3.jpg)

60

10/03/2016

<!-- Slide number: 61 -->

4- Les contr les avanc s (2/4):

Conteneurs:

Permet de regrouper dautres contr les

La modification des propri t s dun conteneur peut entra ner la modification des propri t s des contr les quil contient

Exemple: Panel, GroupBox, TabControl&

TabControl: permet de grouper dautres conteneurs sous forme donglets dans la collection TabPages

![](Picture2.jpg)

61

10/03/2016

<!-- Slide number: 62 -->

4- Les contr les avanc s (3/4):

! (Picture2.jpg)

![](Picture11.jpg)

Composant Timer : est

non visible dans linterface:

Quelques propri t s d'un Timer int ressantes :

Interval : entier repr sentant la dur e (exprim e en millisecondes) entre deux tics. Par d faut cette dur e vaut 100ms.

Start : m thode qui d marre le Timer.

Stop : m thode qui arr te le Timer.

Tick : gestionnaire d' v nements qui lance un v nement chaque tic.

![](Picture12.jpg)

<!-- Slide number: 63 -->

4- Les contr les avanc s (4/4):

! (Picture2.jpg)

Variateurs ScrollBar:

Variateur horizontal (HScrollBar)

Variateur vertical (VScrollBar)

Incr menteur (NumericUpDown)

R le: choisir une valeur dans une plage de valeurs enti res symbolis e par la "bande" du variateur sur laquelle se d place un curseur. La valeur du variateur est disponible dans sa propri t Value.

Valeurs aux extr mit s : propri t s Minimum et Maximum, par d faut 0 et 100.

L' v nement principal du variateur est celui qui signale un changement de valeur : l' v nement Scroll.

![](Picture7.jpg)

![](Picture9.jpg)

![](Picture8.jpg)

<!-- Slide number: 64 -->

! (Picture2.jpg)

5- Gestion d' v nements (1/4)

Principe:

On attache un gestionnaire d' v nements ("event handlers") un v nement

(on dit que l'on s'abonne l' v nement) en sp cifiant une m thode.

Cette m thode est appel e lorsque l' v nement est d clench .

Exemple:

Objet= bouton + ev nement = double-clique

cela va cr er un gestionnaire d' v nements.

code g n r (par le double-clic) dans Form1.Designer.cs :

this.myTestButton.Click += new System.EventHandler(this.myTestButton_Click);

La propri t Click de mon bouton myTestButton est un gestionnaire d' v nements, cela signifie que des m thodes vont tre appel es par myTestButton chaque fois que je clique dessus, la m thode appel e est myTestButton_Click.

64

10/03/2016

<!-- Slide number: 65 -->

5- Gestion d' v nements (2/4)

Du code a aussi t g n r automatiquement dans Form1.cs :

private void m_myTestButton_Click(object sender, EventArgs e)

{

}

Cela d finit une fonction priv e, qui ne retourne rien et prend en param tres deux choses :

un objet de type " object " nomm sender (ici c'est myTestButton) ;

un objet de type "EventArgs" nomm e (pour "event") contenant des informations sur l' v nement.

Exemple:

private void myTestButton_Click(object sender, EventArgs e)

{ myTestButton.Text = "Bouton cliqu !";

}

<!-- Slide number: 66 -->

5- Gestion d' v nements (3/4)

Exemples d v nements:

Click: lutilisateur clique sur le contr le

DoubleClick: lutilisateur double-clique sur le contr le

GotFocus: le contr le re oit le focus

LostFocus: le contr le perd le focus

Move: lobjet et d plac

Paint: lobjet est redessin

TextChanged: la propri t Text a t modifi

KeyPress: Une touche clavier (ayant un code ASCII) est enfonc e

KeyUp et KeyDown: la touche les touches Alt, Ctrl, Suppr ou Shift ont t enfonc es ou rel ch es

Validating: est le lev quand le contr le perd le focus et avant de le passer au contr le suivant,

Validated: si la validation sest bien pass e avec validating , l v nement Validated est d clench permettant deffectuer toute action avec les donn es valid es.

<!-- Slide number: 67 -->

5- Gestion d' v nements (4/4)

Ev nements Souris: Les v nements survenant lors d'un d placement de la souris sur le formulaire ou sur un contr le

Les v nements survenant lors d'un glisser / l cher (Drag'nDrop)

MouseEnter: la souris vient d'entrer dans le domaine du contr le

MouseLeave la souris vient de quitter le domaine du contr le

MouseMove la souris bouge dans le domaine du contr le

MouseDown Pression sur le bouton gauche de la souris

MouseUp Rel chement du bouton gauche de la souris

![](Picture10.jpg)

DragDrop l'utilisateur l che un objet sur le contr le

DragEnter l'utilisateur entre dans le domaine du contr le en tirant un objet

DragLeave l'utilisateur sort du domaine du contr le en tirant un objet

DragOver l'utilisateur passe au-dessus domaine du contr le en tirant un objet

![](Picture11.jpg)

<!-- Slide number: 68 -->

IV- El ment du langage C#

IV

! (Picture12.jpg)

El ments du Langage C#

68

10/03/2016

<!-- Slide number: 69 -->

! (Picture10.jpg)

IV- El ments du langage C#:

Les types.

Les op rateurs.

Les cha nes de caract res.

Les conversions de types

Les num rations

Les tableaux

La classe Array

Les collections

Les structures

Les instructions de contr le

Les m thodes

69

10/03/2016

<!-- Slide number: 70 -->

1- Les Types: (1/3)

! (Picture350.jpg)

C# est un langage fortement typ , c'est- -dire que toutes les op rations sur des variables sont effectu es en tenant compte de leur type.

Pour allouer de la m moire une variable, on cr e une instruction avec dune part le type et dautre part le nom de la variable: type nom_variable;

C# supporte deux sortes de types:

Les types valeur qui incluent les types simples (char, int..), les types enum ( num rations) et les types struct (structures)

Les types r f rence qui incluent les types class (classes), interface (interfaces), delegate (d l gu s) et array (tableaux)

70

10/03/2016

<!-- Slide number: 71 -->

| Classe | Alias | Octets | Valeurs cod es |

| --- | --- | --- | --- |

| System.SByte | sbyte | 1 | -128 127 |

| System.Byte | byte | 1 | 0 255 |

| System.Int16 | short |...