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 :
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
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
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.
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
Merci d'avance
Partager