J'ai un projet C# utilisant la version 4.0 de l'infrastructure .net, et fonctionnant sur VS 2010. J'ai créé une vue arborescente peuplée de nœuds d'arbre étendus. Je souhaite que l'utilisateur puisse copier, couper et coller ces nœuds dans le Presse-papiers via un menu contextuel ou des raccourcis clavier (et pas seulement par glisser-déposer).Comment couper, copier et coller un nœud d'arbre étendu?
Le code s'exécute correctement lors de la copie, mais lorsque j'essaie de coller ces nœuds, il renvoie cette erreur: Impossible de convertir l'objet de type 'System.IO.MemoryStream' en type 'Namespace Path.TreeNodeEx'.
Voici mes méthodes de couper/copier/coller.
public void Copy()
{
Clipboard.SetData("Tree Node Ex", CurrentTreeNode.Clone());
}
public void Paste()
{
CurrentTreeNode.Nodes.Add((TreeNodeEx)Clipboard.GetData("Tree Node Ex"));
}
Je soupçonne que le problème est quelque chose à voir avec la sérialisation, mais j'ai essayé de mettre en œuvre l'interface ISeralizable et l'attribut [Serializable] en vain.
Des suggestions?
J'ai essayé mais encore retourné nul. Je change également la méthode de copie en Clipboard.SetDataObject(), mais cela donne quand même un nœud nul. – User2400