Bonjour

J'utilise un PropertyGrid alimenté par une classe assez simple.
J'ai "décoré" l'un des attribut pour l'afficher sous la forme d'une liste déroulante.

La classe d'édition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
public class Combo_MC : ObjectSelectorEditor
{
        public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
        {
            return UITypeEditorEditStyle.DropDown;
        }
 
        protected override void FillTreeWithData(Selector Selector1, ITypeDescriptorContext ITypeDescriptorContext1, IServiceProvider IServiceProvider)
        {
            Selector1.Nodes.Clear();
            Selector1.AddNode("0 - Aucun", 0, null);
            foreach (MC MC1 in GD.MC_List_Courant)
            {
                Selector1.AddNode(MC1.int_MC + " - " + MC1.str_MC, MC1.int_MC, null);
 
            }
        }
 
        //public override bool IsDropDownResizable
        //{
        //    get { return true; }
        //}
}//Combo_MC
L'utilisation de cette classe sur l'attribut :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
public class File
{
        private int m_int_MC1;
 
        [DisplayName("MC 1")]
        [Category("Divers")]
        [Description("Motif/Compétence 1")]
        [Editor(typeof(Combo_MC), typeof(UITypeEditor))]
        public int int_MC1
        {
            get { return m_int_MC1; }
            set { m_int_MC1 = value; }
        }
}//File
Cela fonctionne très bien sauf que je ne sais pas comment afficher l'étiquette (str_MC) plutôt que la valeur (int_MC) comme c'est la cas.

Merci d'avance