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 :

[C#] Dérivé un TreeNode


Sujet :

Windows Forms

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Points : 295
    Points
    295
    Par défaut [C#] Dérivé un TreeNode
    Comment faire pour dérivé un TreeNode ?

    Je voudrais lui rajouter une propriété. Est-ce que mon nouveau composant pourra quand même être dans ma treeview ?

    Comment savoir quels sont les méthodes à rajouter ?

    Merci beaucoup

  2. #2
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    salut,

    A priori rien a rajouter... ton treenode hérité se comportera de la meme maniere que le treenode de base + tes nouvelles fonctions.

  3. #3
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Salut

    Les treeNode ne sont rien d'autre qu'une classe donc si tu sais comment fonctionne l'heritage de classe et l'utilisation des classes filles/meres alors tu sais comment va se passer la chose.

    Sinon effectivement tu pourras utiliser ton treenodes comme si c'était un treenode "de base" à la différence que quand tu voudra l'obtenir à partir d'un treeview il faudra que tu cast l'objet renvoyé dans le type de ton nouveau treenode (si tu es sur que l'objet renvoyé est de type de ton nouveau treenode (siono tu as l'opérateur is pour savoir ça ))

  4. #4
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Salut,

    Tu voudrais y ajouter quoi exactement ?

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Points : 295
    Points
    295
    Par défaut
    Je voudrais y ajouter deux propriétés de type Int.
    Est ce que ce que j'ai fait est correct ?

    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
    using System;
    using System.ComponentModel;
    using System.Collections;
    using System.Diagnostics;
     
    namespace Tree
    {
     
    	public class TreeNodeId : System.Windows.Forms.TreeNode  
    	{
    		private int nodeId;
    		private int pereId;
     
    		public TreeNodeId (string text, int nodeId, int pereId ) : base(text)    
    		{
    			this.nodeId=nodeId;
    			this.pereId=pereId;
    		}
     
    	}
    }

  6. #6
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Salut .

    apparament oui c'est ok.

    Par contre tu n'exposes pas les propriété dont tu parlais .

    il te fait les rajouter comme ça :
    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
    33
    34
    35
    36
    37
    38
    39
     
    using System;
    using System.ComponentModel;
    using System.Collections;
    using System.Diagnostics;
     
    namespace Tree
    {
     
       public class TreeNodeId : System.Windows.Forms.TreeNode 
       {
          private int nodeId;
          private int pereId;
     
          public TreeNodeId (string text, int nodeId, int pereId ) : base(text)   
          {
             this.nodeId=nodeId;
             this.pereId=pereId;
          }
     
       }
     
       public int NodeId
       {
           get
           {
              return this.nodeId;
            }
       }
     
       public int PereId
       {
           get
           {
              return this.pereId;
            }
       }
     
    }
    par contre je ne vois pas l'interet de pereId vu la propriété Parent du treeNode ...

  7. #7
    SLE
    SLE est déconnecté
    Membre éclairé Avatar de SLE
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 604
    Points : 799
    Points
    799
    Par défaut
    Salut,

    Si tu ne dois stocker qu'un ID dans ton TreeNode, tu peux simplement le mettre dans la propriété TAG du noeud, et comme a dit dev01 tu peux retrouver le PereID avec (par contre il y a une petite erreur d'accolade dans le code de dev01... Les propriétés NodeID et PereID doivent être à l'intérieur la classe TreeNodeID)

    @+

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    849
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 849
    Points : 295
    Points
    295
    Par défaut
    Je suis obligé de mettre un PereId, car c'est au moment de constuire mon arborescence, il n'a pas encore de Père (lié), et ca permet de savoir quel est son père à ce moment.

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

Discussions similaires

  1. Composant graphique multiple (ou dérivé d'un TFrame)
    Par Jean Bovet dans le forum C++Builder
    Réponses: 5
    Dernier message: 30/04/2007, 18h57
  2. [JTree] TreeNode avec icon
    Par Breiz-ilien dans le forum Composants
    Réponses: 3
    Dernier message: 05/04/2005, 16h26
  3. Edition zone texte du libelle d'un TREENODE / Evenement Echa
    Par bigbagisbigbag dans le forum C++Builder
    Réponses: 8
    Dernier message: 03/03/2005, 18h25
  4. [TChart] Composant dérivé
    Par Linkin dans le forum Composants VCL
    Réponses: 2
    Dernier message: 03/01/2005, 16h34
  5. idFTP.DirectoryListing récursif + TreeNode
    Par fredfred dans le forum Composants VCL
    Réponses: 3
    Dernier message: 05/07/2004, 15h53

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