Recherche pour :
Panier 0
  • Accueil
  • Qui sommes nous
  • Articles
    • Jeux Vidéo
      • Curiosité
      • Créer un jeu HTML5, le guide
      • Programmation
    • Programmation
      • Guide C#
      • HTML & CSS
      • C++
      • Java
      • Javascript
      • PHP
      • Python
      • Smarty
      • SQL
      • Swift
    • Web
      • CMS
  • Formations & Code

Se connecter

Mot de passe perdu ?

Vous n'êtes pas encore membre? inscrivez-vous
  • phone 0678509271
  • email contact@develop4fun.com
  • Tech & Gadget
  • Contact
  • Forums
  • Unity
0
Develop4fun
  • Accueil
  • Qui sommes nous
  • Articles
    • Jeux Vidéo
      • Curiosité
      • Créer un jeu HTML5, le guide
      • Programmation
    • Programmation
      • Guide C#
      • HTML & CSS
      • C++
      • Java
      • Javascript
      • PHP
      • Python
      • Smarty
      • SQL
      • Swift
    • Web
      • CMS
  • Formations & Code
perm_identity Commencer

Blog

Develop4fun > Programmation > C-sharp > 16. Contrôles Windows

16. Contrôles Windows

access_time15 janvier 2018
perm_identity Publié par Antonella "Lythande"
folder_open C-sharp, Programmation
Nouveau style pour la barre de menu et les outils

Le framework .NET fournit un grand nombre d’objets qui peuvent être insérés dans un Windows Form, ce que l’on appelle les contrôles Windows (contrôles Windows ou, plus simplement, contrôles).

Ce sont les objets les plus communs pour toutes les interfaces graphiques telles que les boutons, les cases à cocher, etc., mais nous trouvons également des contrôles pour la gestion des données ou pour le dialogue avec les périphériques.

Le tout se trouve dans des classes avec des méthodes et des propriétés qui permettent la personnalisation en fonction des besoins, les contrôles permettent la réalisation d’applications professionnelles avec un minimum d’effort.

Compte tenu de leur nombre (plus de 60), il est impossible de les analyser tous ici : nous allons montrer quelles sont les nouveautés des contrôles du Framework 4.6. Pour plus de détails sur d’autres objets referez-vous au guide sur VB.NET (et bien évidement de Visual Studio).

Dans la boîte à outils de Visual Studio 2017 (Toolbox en anglais), les contrôles sont divisés en catégories :

  • All Windows Forms : qui affiche tous les contrôles disponibles dans un seul onglet ;
  • Common Controls, qui contient les objets généralement présents dans chaque fenêtre (Label, TextBox, Button, ListBox, ComboBox, etc.);
  • Containers, qui regroupe les contrôles permettant de gérer la mise en forme du formulaire, c’est-à-dire la disposition des objets ;
  • menù & Toolbars, contenant des objets qui vous permettent d’ajouter des barres de menus, des barres d’outils, une barre de « status » et des menus contextuels à l’application ;
  • Data, qui contient les outils qui vous permettent de travailler avec des sources de données externes (telles que des bases de données) ;
  • Components, qui regroupe les objets qui vous permettent d’interagir avec le système d’exploitation (pour gérer les Active Directory et le journal des événements Windows, surveiller les modifications apportées au système de fichiers, etc.);
  • Printing, qui contient les objets nécessaires pour ajouter des capacités d’impression à l’application ;
  • Dialogs, contenant des contrôles qui vous permettent d’afficher les boîtes de dialogue Windows courantes, telles que Ouvrir et Enregistrer sous.

Boite à outils de Visual Studio 2017

Toolbox de Visual Studio 2017

Contrôles tels que TextBox, ListBox et PictureBox ont été mis à jour avec l’ajout de certaines propriétés et fonctions, mais leur utilisation est restée essentiellement la même que les versions précédentes de .NET.

Les contrôles MenuStrip (barre de menus) et ToolStrip (barre d’outils) ont été considérablement améliorés et prennent en charge le style introduit avec Office :

Nouveau style pour la barre de menu et les outils
Nouveau style pour la barre de menu et les outils

Ils remplacent les anciens contrôles MainMenu et ToolBar. A l’intérieur, il est maintenant possible d’insérer un plus grand nombre d’éléments : un menu, en fait, peut également contenir TextBox et ComboBox, ainsi que la barre d’outils, qui peut également accueillir ProgressBar. Le MenuStrip vous permet également d’associer des icônes à des éléments de menu.

Le contrôle StatusStrip, qui remplace l’ancien StatusBar et utilisé pour afficher une barre d’état dans l’application, a également subi les mêmes opérations de mise à jour.

Une autre nouveauté est représentée par les contrôles pour gérer la disposition de la fenêtre, contenus dans la section Conteneurs de la «Boîte à outils ». En plus des contrôles déjà présents dans les versions du Framework, des objets tels que FlowLayoutPanel et tableLayoutPanel ont été insérés, ce qui vous permet de placer automatiquement les contrôles qui y sont insérés.

Regardons maintenant un exemple simple de l’utilisation de certains contrôles en créant une petite application pour Windows : une visionneuse d’image minimale, composée d’une zone de texte dans laquelle taper le chemin du fichier, un bouton pour afficher le dialogue « Ouvrir » et un bouton qui affiche l’image sélectionnée dans un PictureBox.

Un CheckBox vous permettra de déterminer si vous souhaitez afficher l’image dans sa taille réelle ou agrandie pour occuper toute la zone disponible.

Notons qu’un contrôle de type OpenFileDialog a également été inclus. Maintenant, définissons les propriétés des différents objets comme indiqué dans le tableau suivant :

Contrôle (Classe) Propriété Valeur
frmVisualiseur (Form) AcceptButton btnVisualise
StartPosition CenterScreen
Text Visualiseur Images
lblNomFichier (Label) Text &Nom ficher :
txtNomFichier (TextBox)
btnBrowse (Button) Text …
btnVisualise (Button) Text &Visualise
picImage (PictureBox) borderStyle Fixed3D
chkAjusteImage (CheckBox) Text &Adapte automatiquement l’image à la fenêtre
ofdOuvre (OpenFileDialog) FileName (Chaine vide)
Filter Tous les fichiers image (*.bmp; *.jpg; *.gif; *.png)
Title Sélectionne un fichier image

Il suffit d’écrire le code à associer aux événements de contrôle. Au contraire, nous voulons que, en cliquant sur le bouton btnBrowse, la fenêtre d’exploration s’ouvre pour sélectionner une image.

Pour associer automatiquement un gestionnaire d’événements à l’événement principal d’un objet spécifique, il suffit de double-cliquer sur l’objet en question. Dans notre cas, nous définissons le gestionnaire d’événements pour l’événement « Click » du bouton. La définition de la méthode déléguée apparaît dans la fenêtre de code et nous pouvons ajouter le code de gestion d’événement :

 
 
  1. Browse_Click(object sender, EventArgs e)
  2. {
  3. if (ofdOuvre.ShowDialog() == DialogResult.OK)
  4. txtNomFichier.Text = ofdOuvre.FileName;
  5. }

 

La méthode ofdOuvre.ShowDialog () affiche la boîte de dialogue pour sélectionner un fichier; le type de fichier est indiqué dans la propriété Filter du contrôle.

La routine renvoie une valeur de type DialogResult qui permet de connaître la raison de fermeture de la fenêtre: DialogResult.OK indique que la fenêtre a été fermée car l’utilisateur a appuyé sur le bouton «OK» (si l’on appuie sur «Cancel», la valeur renvoyé est DialogResult.Cancel).

Le nom du fichier sélectionné est enregistré dans la propriété FileName du contrôle.

Maintenant, nous devons afficher l’image sélectionnée. Double-cliquez sur le bouton « bntView » et écrivez cette instruction simple :

 
 
  1. private void btnVisualise_Click(object sender, EventArgs e)
  2. {
  3. picImage.Image = Bitmap.FromFile(txtNomFichier.Text);
  4. }

 

Pour charger l’image, nous avons utilisé la méthode statique FromFile() de la classe Bitmap, contenue dans l’espace de noms System.Drawing, qui prend le nom d’un fichier en argument et retourne un objet qui représente l’image qu’il contient. À ce stade, attribuez-le simplement à la propriété Image du contrôle picImage pour l’afficher.

Il suffit de définir le comportement de l’application en cliquant sur le bouton chkAjusteImage :

 
 
  1. AjusteImage_CheckedChanged(object sender, EventArgs e)
  2. {
  3. if (chkAjusteImage.Checked == true)
  4. picImage.sizeMode = PictureBoxsizeMode.StretchImage;
  5. else
  6. picImage.sizeMode = PictureBoxsizeMode.Normal;
  7. }

 

CheckedChanged est l’événement généré lorsque la case est cochée.

Ces instructions garantissent que lorsque la case est cochée, c’est-à-dire que la propriété « Checked » est true, la propriété « sizeMode » du PictureBox est définie sur PictureBoxsizeMode.StretchImage, afin que l’image corresponde à la zone disponible.

Notre application est prête. Nous pouvons le faire en appuyant sur la touche F5 pour vérifier que son comportement est celui désiré.

Vues : 147
Mots clés: Concepts avancés
À propos de Antonella "Lythande"

Lythande, la conceptrice du site : son histoire commence grâce à Marion Bradley Zimmer et Game Republic. Experte du secteur des jeux vidéo, elle a écrit pour les magazines les plus importants de l’Italie, tels que Game Republic, PS Mania et Pokémon Mania. @LythandeLister

Plus d'articles de Antonella "Lythande"
Précédent 15. Gestion des événements
Suivant 17. Exceptions

Laisser un commentaire Annuler la réponse

Le blog d’Antonella
  • Fly Fly Bird

    Fly Fly Bird est un jeu assez simple qui reprend le concept de Flappy Bird. Créé avec […]

  • Pong

    Pong est un des premiers jeux vidéo d’arcade et le premier jeu vidéo […]

  • [Projet Unity] Fallback

    Bonjour à tous, aujourd’hui je voudrais vous parler d’un petit projet né […]

Gamespeed France
  • Kingdom Hearts III est leader du top britannique cette semaine
  • Une version premium pour Nintendo Switch Online ?
  • Nintendo eShop: les nouveaux titres de la semaine
Saevents
  • Sport & Teambuilding : tous égaux ?

    « Teambuilding » : derrière ce nom anglais, utilisé […]

  • La motivation : Une notion centrale dans le management des collaborateurs ?

    « Au travail, se motiver est souvent difficile ! » ; d’autres […]

  • Snake Gliss, l’hiver démarre fort

    Ça se passe chez nous !   L’hiver démarre fort, première descente […]

Étiquettes
Android SDK Angry Birds Apple ARMv7 bases d'un game engine BlueTooth C# C.H.I.P. Concepts avancés Continuous Créer un jeu vidéo DOMContentLoaded développement de jeu Développeur gamejam gamers HTMLOptionElement IDE indie Internet introduction Intégrateur Itch jeux indépendants joueurs LinkedIn Microsoft Minecraft Mises à jour Open Source Outils de développement phablette programmation orientée objet programmation orientée objets Référenceur SEO smartphones Social selling Structure du langage Swift Playground tablettes Unity Visual Studio Web-designer Web Marketing WiFi
  • Develop4fun IT
  • Gamespeed Jeux Vidéo
  • Gamespeed Videogiochi
  • Immobilier Neuf
  • Organisateur d’évènement
  • Comportementaliste Animalier Grenoble
Sécurité du site Web
Gamespeed France
  • Kingdom Hearts III est leader du top britannique cette semaine

    L’institut Chart Track annonce que Kingdom Hearts III est leader du top britannique cette […]

  • Une version premium pour Nintendo Switch Online ?

    Le magazine japonais Nikkei indique que Nintendo pourrait également faire quelque chose en […]

  • Nintendo eShop: les nouveaux titres de la semaine

    Voici tous les nouveaux titres disponibles sur la console hybride de Nintendo : Bad North Demo (Raw […]

© 2019 Develop4fun. Tous droits réservés
keyboard_arrow_up "