Bon grace à l'aide de
sebmafate j'ai créer mes propriété dropdownlist et checkboxlist en utilisant le namespace windows.form et la class EnumEditor
Les collections sont donc de type enum mais je vais me pencher sur une migration vers un type arraylist car la classe enum ne permet pas une génération dynamique d'une liste étant côdé directement...
Par ailleur je me suis apperçu de plusieur problème concernant les propriétés objets, mes informations sont très incompletes.
Pour avoir un rafraichissement instantané dans le designer il faut que chaque propriétés des objets est les attributs : [RefreshProperties(RefreshProperties.Repaint)]
mais il faut aussi mettre l'attribus : [NotifyParentProperty(true)]
Je n'ai pas la définition exacte mais à mon avis c'est pour que l'on puisse retrouver la valeur de la propriété de l'objet dans le noeud qui va être créé
D'ailleur il faut spécifier egalement au niveau de la propriété public que c'est un objet complexe et que sa définition va se trouver dans une balise interne (PersistenceMode) et le type d'objet (TemplateContainer):
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(
monObjet))]
Dernière chose primordiale, le constructeur de l'objet doit être public et non internal
Voilà avec ces dernières infos le code est véritablement fonctionnel
Il reste encore quelques petit trucs à trouver comme l'imbrication de composants expensible dans l'interface ou encore comment changer le tostring en face de la propriété expensible et y mettre autre chose que le chemin de l'objet...
Si jamais vous trouvez faites moi signe!
Autrement si une personne à une méthode pour interfacer les composants entre eux (comme la propriété groupe des radio) je serai très intéressé car je cherche maintenant à réaliser une propriété dropdownlist qui detecte les objets du même type...
PS: merci à jesusonline et sebmafate pour leur aide