OVH Cloud OVH Cloud

Surcharge de controle winform & IDE...

4 réponses
Avatar
Tamahome
Bonjour, j'ai surchargé la classe TreeNode et le composant TreeView (pour
pouvoir utiliser ma classe TreeNode surchargé). Ca marche tres bien mais
j'ai un petit probleme avec l'IDE de VS : j'ai bien mis mon composant
TreeView surchargé dans ma toolbox (donc un petit glisser-deposer dans ma
winform me le fait bien apparaitre), mais lorsque je veux ajouter des noeuds
(via l'interface de propriété du composant) il me rajoute des TreeNode
standard dans le code (alors que je voudrais qu'il me rajoute plutot mon
TreeNode surchargé). Que doisje faire pour régler mon probleme ? (méthode à
surcharger ? Evenement ?)

Merci

4 réponses

Avatar
Julien Adam
Avec Reflector en regardant les attributs de la classe TreeNodeCollection on
voit ça :

[Editor("System.Windows.Forms.Design.TreeNodeCollectionEditor,
System.Design, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken°3f5f7f11d50a3a", typeof(UITypeEditor))]
public class TreeNodeCollection : IList, ICollection, IEnumerable

Et ça :

internal class TreeNodeCollectionEditor : CollectionEditor

Normalement ce que tu veux se fait en dérivant de l'editeur mais pas de
chance, cet éditeur est internal ce qui rend cette option impossible. Avec
une collection normale, c'est relativement simple mais pour les noeuds du
TreeView je ne vois pas de solution immédiate.

Julien Adam

"Tamahome" wrote in message
news:40ebe729$0$24426$
Bonjour, j'ai surchargé la classe TreeNode et le composant TreeView (pour
pouvoir utiliser ma classe TreeNode surchargé). Ca marche tres bien mais
j'ai un petit probleme avec l'IDE de VS : j'ai bien mis mon composant
TreeView surchargé dans ma toolbox (donc un petit glisser-deposer dans ma
winform me le fait bien apparaitre), mais lorsque je veux ajouter des


noeuds
(via l'interface de propriété du composant) il me rajoute des TreeNode
standard dans le code (alors que je voudrais qu'il me rajoute plutot mon
TreeNode surchargé). Que doisje faire pour régler mon probleme ? (méthode


à
surcharger ? Evenement ?)

Merci




Avatar
Bonjour,

peut être ces liens t'aideront ils

http://www.codeproject.com/cs/miscctrl/dropdowntree.asp

http://www.codeproject.com/csharp/treebuilder.asp

http://www.codeproject.com/cs/miscctrl/propertytree.asp


"Tamahome" a écrit dans le message de
news:40ebe729$0$24426$
Bonjour, j'ai surchargé la classe TreeNode et le composant TreeView (pour
pouvoir utiliser ma classe TreeNode surchargé). Ca marche tres bien mais
j'ai un petit probleme avec l'IDE de VS : j'ai bien mis mon composant
TreeView surchargé dans ma toolbox (donc un petit glisser-deposer dans ma
winform me le fait bien apparaitre), mais lorsque je veux ajouter des


noeuds
(via l'interface de propriété du composant) il me rajoute des TreeNode
standard dans le code (alors que je voudrais qu'il me rajoute plutot mon
TreeNode surchargé). Que doisje faire pour régler mon probleme ? (méthode


à
surcharger ? Evenement ?)

Merci




Avatar
Tamahome
"Julien Adam" a écrit dans le message de
news:%
Avec Reflector en regardant les attributs de la classe TreeNodeCollection


on
voit ça :

[Editor("System.Windows.Forms.Design.TreeNodeCollectionEditor,
System.Design, Version=1.0.5000.0, Culture=neutral,
PublicKeyToken°3f5f7f11d50a3a", typeof(UITypeEditor))]
public class TreeNodeCollection : IList, ICollection, IEnumerable

Et ça :

internal class TreeNodeCollectionEditor : CollectionEditor

Normalement ce que tu veux se fait en dérivant de l'editeur mais pas de
chance, cet éditeur est internal ce qui rend cette option impossible. Avec
une collection normale, c'est relativement simple mais pour les noeuds du
TreeView je ne vois pas de solution immédiate.

Julien Adam



pas cool ca ... :(

Merci pour l'info.
Avatar
Tamahome
Merci pour les liens, je vais voir ca :)