Formation C# - Cours 4

Preview:

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.

Citation preview

Formation C#

Pierre de La MorinerieClub Microsoft Isep — 2007

Cours n° 4 : Programmation Windows

Plan

•Introduction, premiers pas, concepts

•Programmation procédurale

•Programmation objet

•Programmation Windows

Cours n° 4Programmation

Windows

Objectif

•Produire un navigateur Web simple

•Comprendre les concepts sous-jacents

Premiers pas

•Créer un projet “Application Windows”

•Editer les propriétés de la fenêtre

Contrôles

•Placer un composant WebBrowser

•Placer une barre d’outils

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);

Classe partielle

•Crée une classe séparée en plusieurs fichiers

•Syntaxe :

➡partial class <nom de la classe> {}

•Ex. :

➡Form Designer

Héritage

•Crée une nouvelle classe à partir d’une classe parente

•Ex:

➡Form1 est héritée de Form

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

Evénements

•Permet d’avoir des notifications automatiques de certaines actions

•Exemple : clic sur un Bouton

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”

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

Evénements

•On peut aussi créer ses propres événements

Redimensionnement

•Problème :

➡Comment gérer les changements de taille de la fenêtre ?

•Solution :

➡Ancres, Dock, Panneaux

Redimensionnement

•Dock :

➡S’applique à une série de contrôles

➡Définit leur placement par position

➡Pratique, rapide, pas très souple

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

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

Recommended