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);
 }