CodeS-SourceS
Rechercher un code, un tuto, une réponse

Utilisation du composant PropertyGrid

Juillet 2017


Utilisation du composant PropertyGrid ... c'est tellement simple



Introduction


Le PropertyGrid est ce fameux composant que l'on peut voir dans Visual Studio pour lister les propriétés des contrôles par exemple ...

Dans mon exemple, j'ai créé:
  • 1 Form nommée Form1
  • 1 PropertyGrid nommé PropertyGrid1 sur Form1
  • 1 classe Personne

Tutoriel


Pour utiliser le Property Grid, il faut

1 - glisser un composant PropertyGrid depuis la boite à outils (Tous les Windows Forms) sur la Form désirée


2 - définir une classe qui contiendra toutes les propriétés que le PropertyGrid devra afficher
Pour cela, on peut soit utiliser un diagramme de classes, soit écrire sa classe directement.

Important : faire un import de System.ComponentModel puis définir pour chaque accesseur CategoryAttribute ; en effet c'est la valeur affectée à CategoryAttribute qui créera ou non des catégories.

Voici le code de la classe Personne:
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;

namespace PropertyGridExample
{
    class personne
    {
        private string _nom;
        private string _prenom;
        private bool _celibataire;
        private DateTime _date_naissance;
         
        [CategoryAttribute ( "Informations" ), DescriptionAttribute ( "Nom de la personne" )]
        public string Nom
        {
            get { return _nom; }
            set { _nom = value; }
        }
        [CategoryAttribute ( "Informations" ), DescriptionAttribute ( "Prenom de la personne" )]
        public string Prenom
        {
            get { return _prenom; }
            set { _prenom = value; }
        }
        [CategoryAttribute ( "Informations" ), DescriptionAttribute ( "Date de naissance de la personne" )]
        public DateTime Date_naissance
        {
            get { return _date_naissance; }
            set { _date_naissance = value; }
        }
        [CategoryAttribute ( "Situation" ), DescriptionAttribute ( "Situation  de la personne" )]
        public bool Celibataire
        {
            get { return _celibataire; }
            set { _celibataire = value; }
        }
    }
}


3 - créer une instance de la classe,initialiser et affecter les valeurs désirées pour chaque champ de cet instance
Dans mon exemple, j'appelle la procédure initialiser_propertygrid1() dans l'évènement Form_load
private void initialiser_propertygrid1()
{
    personne opersonne;
    opersonne = new personne ();
    opersonne.Nom = "Romagny";
    opersonne.Prenom = "Jérôme";
    opersonne.Celibataire = true;
    opersonne.Date_naissance = Convert.ToDateTime( "13/03/1976" );
    propertyGrid1.SelectedObject = opersonne;
}


Les champs de type bool disposent d'une ComboBox pour changer la valeur dynamiquement depuis le PropertyGrid


Les champs de type DateTime disposent d'un Control DateTimePicker pour changer la date dynamiquement depuis le PropertyGrid


4 - affecter à la propriété SelectedObject du PropertyGrid l'instance de la classe (voir code ci-dessus procédure initialiser_propertygrid1())
propertyGrid1.SelectedObject = opersonne;


On peut alors basculer de la vue par "catégories" à la vue "alphabétique" sans la moindre ligne de code


Conclusion


Voila avec cela vous avez déjà de bonnes bases pour pouvoir utiliser le composant, sachant qu'en VB.NET c'est quasiment la même chose ;)

++

A voir également

Publié par romagny13.
Ce document intitulé «  Utilisation du composant PropertyGrid  » issu de CodeS-SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
2, 3 astuces avec Visual Studio 2005
Interopérabilité .Net et COM / équivalent ActiveX exe avec .Net