private void CopyNode(bool clone) { RadTreeNode selectedNode = this.treeView.SelectedNode; if (selectedNode == null) { return; } this.copyRef = new WeakReference(clone ? selectedNode.Clone() : (object)selectedNode); DataObject dataObject = new DataObject(); dataObject.SetData("RadTreeViewTreeNode", (object)selectedNode.GetHashCode()); dataObject.SetText(selectedNode.Text); Clipboard.SetDataObject((object)dataObject); }
private void radTreeView1_DragDrop(object sender, DragEventArgs e) { RadTreeNode sourceNode = e.Data.GetData(typeof(RadTreeNode)) as RadTreeNode; // Retrieve the client coordinates of the drop location. Point targetPoint = rtvTree.PointToClient(new Point(e.X, e.Y)); // Retrieve the node at the drop location. RadTreeNode targetNode = rtvTree.GetNodeAt(targetPoint); if (sourceNode != null && targetNode != null) { RadTreeNode clonedNode = (RadTreeNode)sourceNode.Clone(); if (radioButtonCut.Checked) { sourceNode.Remove(); } targetNode.Nodes.Add(clonedNode); targetNode.Expanded = true; } }
protected virtual RadTreeNode CreateTreeNode(RadTreeNode sourceTreeNode) { return(sourceTreeNode.Clone() as RadTreeNode); }