Beispiel #1
0
        private void treeView1_DragDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
            {
                Point    pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
                TreeNode destinationNode = ((TreeView)sender).GetNodeAt(pt);
                TreeNode newNode         = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
                TreeNode sourceNode      = newNode.Parent;
                if (destinationNode != sourceNode && destinationNode != newNode)
                {
                    newNode.Remove();
                    var item = newNode.Tag as PKBoxItem;
                    item.Remove();

                    var visitor = new PKItemAddVisitor(item);
                    (destinationNode.Tag as PKBoxItem).Accept(visitor);
                    if (visitor.Added)
                    {
                        destinationNode.Nodes.Add(newNode);
                    }
                    else
                    {
                        (sourceNode.Tag as PKBoxItem).Accept(visitor);
                        sourceNode.Nodes.Add(newNode);
                    }

                    treeView1.SelectedNode = newNode;
                    pkExtDesigner.DoLayout();
                }
            }
        }
Beispiel #2
0
        public void AddItem(PKBoxItem item)
        {
            if (this.SelectedItem != null)
            {
                var visitor = new PKItemAddVisitor(item);
                this.SelectedItem.Accept(visitor);
                if (visitor.Added)
                {
                    this.appPage.DoLayout();

                    if (this.ItemAdded != null)
                    {
                        this.ItemAdded(item);
                    }
                }
            }
        }