IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Dérivée de TreeView


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2003
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 141
    Par défaut Dérivée de TreeView
    Bonjour,

    J'aimerai construire un treeview dont les éléments sont personnalisés : par exemple, au lieu que la propriété Text renvoi une string basique, je voudrais que ça renvoi en fait une concaténation d'une string et d'un entier... donc en bref rajouter un membre int... Voici le code (jai viré le superflu) :

    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
    25
    26
    27
    28
    29
    30
    31
    32
     public class ComptaTreeView : System.Windows.Forms.TreeView
        {
            ComptaTreeNodeCollection _Nodes;
     
            public ComptaTreeNodeCollection Nodes
            {
                get
                {
                    return _Nodes;
                }
                set
                {
                    _Nodes = value;
                }
            }
     
        }
     
     
        class ComptaTreeNodeCollection : System.Windows.Forms.TreeNodeCollection
        {
     
     
        }
     
     
        public class ComptaNode : System.Windows.Forms.TreeNode
        {
            private int value;
     
     
        }
    et là il me dit "TreeNodeCollection has no constructor" ... alors que c'est possible de dériver une classe sans constructeur...

    Si qq'un a une ptite idée, grand merci!

  2. #2
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Tu ne dois pas dérivé de TreeView mais créer des objets dérivant de TreeNode. Dans ce node à toi, du override la méthode ToString() si tu veut modifier l'affichage dans le TreeView.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2003
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 141
    Par défaut
    il me semble que c'est ce que j'ai fait.... sauf que l'override n'est pas écrit...

    jai oublier de preciser que l'erreur se situe au niveau de la definition de la classe ComptaTreeNodeCollection

  4. #4
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    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
     
    class MyTreeNode : TreeNode
        {
            private int m_id;
     
            public int Id
            {
                get { return m_id; }
                set { m_id = value; }
            }
     
            public override string ToString()
            {
                return String.Format("{0}. {1}", Id, base.ToString());
            }
        }

  5. #5
    Membre confirmé
    Inscrit en
    Février 2003
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 141
    Par défaut
    merci, mais le probleme n'est pas là!
    une fois que ma classe TreeNode est faite, il faut que je la fasse remonter jusqu'à TreeView, donc en faisant encore 2 classes dérivés (dérivées de TreeNodeCollection et enfin de TreeView)

    ou alors suis-je completement a coté de la plaque?

  6. #6
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Sur TreeNodeCollection, méthode Add:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void Add (
    	TreeNode child
    )
    Donc, tu peux ajouter n'importe quel objet de type TreeNode ou dérivé (notion OO). Vu que tu as overridé ToString, lorsque ton contre TreeView voudra dessiner les noeud, il appellera ta méthode à affichera ce que tu auras décider.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. TreeView et menu contextuel...
    Par agh dans le forum Composants VCL
    Réponses: 6
    Dernier message: 06/04/2009, 12h23
  2. Custom control qui dérive d'un treeview
    Par chris81 dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 05/02/2009, 14h31
  3. Réponses: 5
    Dernier message: 09/01/2003, 11h55
  4. où y a t il un tutorial pour le Treeview ??
    Par silvermoon dans le forum C++Builder
    Réponses: 4
    Dernier message: 09/12/2002, 13h30
  5. [Pointer]Treeview.Data
    Par rbag dans le forum Composants VCL
    Réponses: 7
    Dernier message: 31/08/2002, 01h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo