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

C# Discussion :

C# Copier coller des objets dans un TreeView via le Clipboard


Sujet :

C#

  1. #1
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Points : 5
    Points
    5
    Par défaut C# Copier coller des objets dans un TreeView via le Clipboard
    Bonjour,

    J’ai un TreeView dans le quel j’affiche une arborescence d’objet, organiser en collection, et je cherche a faire une fonction copier coller à l’intérieur de cette arborescence car certain sous élément de branche sont identique à d’autre. Mais il faut absolument que les nouveaux éléments soit une nouvelle instance d’objet et non une simple référence sur l’objet existant.

    Si certain ce sont déjà penché sur ce type de problème, je suis preneur de toutes suggestions.

    Merci d'avance

  2. #2
    Membre averti Avatar de Contrec
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations forums :
    Inscription : Mars 2005
    Messages : 597
    Points : 342
    Points
    342
    Par défaut
    Bonjour, tu veux copier/coller juste des TreeNode ou tout un sous-arbre de ton TreeView (un ensemble de TreeNodes) ?
    Contrec

  3. #3
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Le but est en fait de copier des branches entière du TreeView, sachant que derrière chaque Node.tag se trouve un objet de mes propres classe ayant elle une structure en arborescence (via des collections). Toute la difficulté de la chose était en fait d’obtenir de nouvelle instance (copie parfaite) des objets existant. Ce que j’ai réalisé en utilisant l’inter IClonable de System.Object.

    Pour ceux que cela interresse voici comment utiliser IClonable avec des class utilisant des collections .

    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
     
        public class PackageStructure : ICloneable
        {
            public FieldStructureCollection fields = new FieldStructureCollection();
     
            public object Clone() 
            {
                PackageStructure pkg = (PackageStructure)MemberwiseClone();
                for (int i = 0; i < fields.Count;i++ )
                {
                    pkg.fields[i] = (FieldStructure)fields[i].Clone();
                }
                return pkg; 
            }
     
        }
        public class PackageStructureCollection : KeyedCollection<byte,PackageStructure>
        {
            protected override byte GetKeyForItem(PackageStructure item)
            {
                return item.id;
            }
        }
     
        public class FieldStructure : ICloneable
        {
            public string name;
            public byte length;
     
            public object Clone()
            {
                FieldStructure fld = (FieldStructure)MemberwiseClone();
                return fld;
            }
        }
        public class FieldStructureCollection : Collection<FieldStructure> { }
    Merci et à une prochaine.

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

Discussions similaires

  1. C# - Afficher des objets dans un treeview, comme le debugger VS
    Par Rits dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 12/08/2009, 16h52
  2. copier coller des colonnes dans le désordre
    Par sash6 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/05/2008, 18h24
  3. copier/coller des lignes dans feuilles crées
    Par ericdev67 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/03/2008, 19h58
  4. Réponses: 3
    Dernier message: 10/01/2008, 10h12
  5. copier/coller des graphiques dans le presse-papier
    Par legos dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/01/2007, 13h04

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