formation c# - cours 4
DESCRIPTION
Quatrième partie de la formation C# du Club Microsoft Isep. Initiation à la programmation Windows et aux Windows Forms, création d'un navigateur Web. Exploration des concepts d'événements, héritage, placement et redimensionnement des contrôles dans une fenêtre.TRANSCRIPT
![Page 1: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/1.jpg)
Formation C#
Pierre de La MorinerieClub Microsoft Isep — 2007
Cours n° 4 : Programmation Windows
![Page 2: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/2.jpg)
Plan
•Introduction, premiers pas, concepts
•Programmation procédurale
•Programmation objet
•Programmation Windows
![Page 3: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/3.jpg)
Cours n° 4Programmation
Windows
![Page 4: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/4.jpg)
Objectif
•Produire un navigateur Web simple
•Comprendre les concepts sous-jacents
![Page 5: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/5.jpg)
Premiers pas
•Créer un projet “Application Windows”
•Editer les propriétés de la fenêtre
![Page 6: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/6.jpg)
Contrôles
•Placer un composant WebBrowser
•Placer une barre d’outils
![Page 7: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/7.jpg)
Contrôles
•En C#, les contrôles sont des objets
•Ils appartiennent au namespace System.Windows.Form
•Ex :
➡Button btOK = new Button();form.Controls.Add(btOK);
![Page 8: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/8.jpg)
Classe partielle
•Crée une classe séparée en plusieurs fichiers
•Syntaxe :
➡partial class <nom de la classe> {}
•Ex. :
➡Form Designer
![Page 9: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/9.jpg)
Héritage
•Crée une nouvelle classe à partir d’une classe parente
•Ex:
➡Form1 est héritée de Form
![Page 10: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/10.jpg)
Code folding
•Problème :
➡Comment clarifier les différentes sections du code ?
•Solution :
➡#region / #endregion
➡Groupe des sections de code
➡Aucun effet sur la compilation
![Page 11: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/11.jpg)
Evénements
•Permet d’avoir des notifications automatiques de certaines actions
•Exemple : clic sur un Bouton
![Page 12: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/12.jpg)
Evénements
•1. Déclaration de l’événement :
➡btOK.Click += new EventHandler(okClicked);
•On ajoute un nouvel objet “EventHandler” à la liste d’événements “Click” du bouton “btOK”
![Page 13: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/13.jpg)
Evénements
•2. Utilisation de l’événement :
➡private okClicked(object sender, EventArgs e) { // code}
•“sender” est l’objet ayant lancé l’événement
•“e” contient des arguments passés à l’événement
![Page 14: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/14.jpg)
Evénements
•On peut aussi créer ses propres événements
![Page 15: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/15.jpg)
Redimensionnement
•Problème :
➡Comment gérer les changements de taille de la fenêtre ?
•Solution :
➡Ancres, Dock, Panneaux
![Page 16: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/16.jpg)
Redimensionnement
•Dock :
➡S’applique à une série de contrôles
➡Définit leur placement par position
➡Pratique, rapide, pas très souple
![Page 17: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/17.jpg)
Redimensionnement
•Ancres :
➡S’appliquent à un contrôle
➡Combinaison de Top/Left/Right/Bottom
➡Un contrôle ancré conserve sa distance au bord du conteneur parent
![Page 18: Formation C# - Cours 4](https://reader033.vdocuments.mx/reader033/viewer/2022061213/5497361db47959cf608b4626/html5/thumbnails/18.jpg)
Redimensionnement
•Panneaux :
➡Utilisent des comportements prédéfinis
•Types :
➡FlowLayoutPanel : contrôle par flux
➡TableLayoutPanel : contrôle par grille
➡SplitPanel : contrôle par séparateur mobile