Formation C# - Cours 4

12 150 vues

Publié le

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.

Publié dans : Technologie
0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
12 150
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3 084
Actions
Partages
0
Téléchargements
501
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Formation C# - Cours 4

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

×