Salut à tous,
Je suis en train de développer les fonctions copy/paste specifiques a la copie de noeuds en utilisant la classe System.Windows.Forms.Clipboard de la framework .net.
Cette classe fournit les fonctions SetDataObject, qui (théoriquement) copie n'importe quel type d'object dans le clipboard, et GetDataObject, qui redonne n'importe quel object garder dans le clipboard.
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public override void Copy() { System.Windows.Forms.DataObject dataObj = new System.Windows.Forms.DataObject(typeof(TreeINode).ToString(), this.Node); System.Windows.Forms.Clipboard.SetDataObject(dataObj, true, 10, 50); //... }Le problème:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public override void Paste() { System.Windows.Forms.IDataObject dataObject = System.Windows.Forms.Clipboard.GetDataObject(); TreeINode newChild = dataObject.GetData(typeof(TreeINode).ToString ()) as TreeINode; //... }
Je n'arrive pas à recuperer l'object garder dans le clipboard... Si je garde une string (le nom de mon treenode par exemple) pas de problème, si j'y garde un object plus complexe, surtout un object d'une classe que je definis, comme le TreeINode... alors là je reçois toujours une valeur null...
Je vois pas d'ou viens le problème. Si cela vient de mon copy où je garde l'object dans le clipboard ou dans le paste...
Quelqu'un a une idée, ou une solution alternative pour garder des objects dans le clipboard et le recupérer?
Partager