Comment utiliser l’interface MDI dans Windows Forms en csharp
Comment utiliser l’interface MDI dans Windows Forms en csharp
Objectif: Etre capable d’importer des données Microsoft Excel dans un DataGridView
- Description:
- MDI (Multiple Document Interface) est une interface de programmation Microsoft Windows pour créer une application qui permet aux utilisateurs de travailler avec plusieurs documents en même temps.
- Une application MDI est quelque chose comme l’interface de bureau Windows puisque les deux incluent plusieurs espaces de visualisation. Cependant, les espaces de visualisation MDI sont limités à la fenêtre ou à la zone cliente de l’application.
- Un programme MDI peut afficher plusieurs fenêtres enfants à l’intérieur.
- Utilisez l’interface MDI pour créer des applications qui peuvent ouvrir plusieurs documents simultanément.
- Le cas typique d’application consiste en la fenêtre principale de l’application, avec un menu et des barres d’outils, contenant une (sous-)fenêtre par fichier ou projet ouvert.
- L’autre mode concurrent disponible pour les programmes utilisant plusieurs fenêtres est le mode SDI (Single document interface). Un troisième mode est apparu plus récemment, le TDI (Tabbed Document Interface).
- Avantages du mode MDI
- Avec le MDI, une seule barre de menu ou d’outils est partagée par toutes les fenêtres.
- Une fenêtre enfant peut être affichée ou cachée, maximisée ou minimisée sans contrainte.
- L’affichage de fenêtres enfants en cascade ou en mosaïque dans l’espace de la fenêtre parent peut être facilement mis en place.
- La vitesse de commutation d’une fenêtre enfant à une autre est plus rapide, de même que les vitesses d’accès… (En SDI, on peut considérer que toutes les fenêtres sont des enfants d’une fenêtre « mère » recouvrant le bureau ; il y a donc beaucoup de fenêtres frères).
- Les raccourcis clavier sont gérés directement par le logiciel, sans passer par le système d’exploitation (lourd).
- Les objets étant contenus dans la fenêtre parente, cela permet de visualiser immédiatement les actions disponibles dans l’application même, sans confusion avec les possibilités offertes dans d’autres applications.
- Réalisation
- Créez un formulaire et affectez à sa propriété IsMdiContainer la valeur true.
- Travaux pratique
- Créer un programme C# qui crée automatiquement un projet ainsi qu’ une Formulaire « Form1 » associée.
- Changer la propriété IsMdiContainer la valeur true.
- Ajouter deux formulaires Form2 et form3.
- Nommer la form1 frmMain la Form2 frmTexte et la Form3 frmImage.
- Ajouter les contrôles suivants à votre projet, avec les propriétés spécifiées :
- Sur le formulaire frmTexte : Ajouter un RichTextBox portant le nom rtbTexte
- Ajoutez un contrôle GroupBox nommé gbBouton
- Le GroupBox simulera une barre d’outils
- Incorporer trois boutons btnNouveau, btnOuvrir et btnImage.
- Régler leur propriétés Height et Top respectivement à 375 et 50.
- Appliquer aux boutons les propriétés suivantes :
- Placez une liste ComboBox sur gbBouton(nom : cmbAligner) avec 3 éléments : Gauche (index 0), Centre (1), Droite (2).
- Entrer un à un les éléments de la liste dans sa propriété items (Collection).(Validez votre saisie entre chaque entrée).
- lorsque vous redimensionnez le formulaire créée, le cadre de texte reste inchangé et ce n’est pas esthétique : programmez une routine pour palier à ceci.
- Pour créer un nouveau document tout d’abord, il est nécessaire d’ouvrir un nouveau formulaire frmTexte1. pour cela on définit une variable du nom du formulaire et on l’affiche (on appelle ceci créer une nouvelle instance du formulaire), le titre du premier document est document 1 le deuxième sera document 2 etc…
- Procédez à la programmation de l’alignement du texte de rtbTexte, en utilisant le contrôle cmbAligner de la feuille conteneur frmMain :
- Placez un controle PictureboBox sur le formulaire frmImage.
- Utilisez la procédure Change de cmbAligner pour placer le code de l’alignement.
- Utilisez une structure Select Case cmbAligner.text pour savoir quel alignement a été choisi.
- Accédez au formulaire frmtexte1 par frmMain.ActiveForm
- Pensez à OnErrorStatement au début (sinon, si aucune feuille n’est ouverte, vous aurez des surprises).
- Procédez à la programmation du bouton Ouvrir pour ouvrir un formulaire déjà créée (le rendre active)
- Pratique
Toutes les fenêtres peuvent devenir un parent MDI, si vous définissez la propriété IsMdiContainer sur True.
Contrôle | Propriété | Valeur |
rtbTexte | Align | Align Top |
rtbTexte | Height | 495 |
rtbTexte | BorderStyle | None |
btnNouveau | Texte | &Nouveau |
btnOuvrir | Texte | &Ouvrir |
btnImage | Texte | &Afficher |
-
consignes: