Exemple #1
0
 public DragDropInformation(TreeNode sourceNode, IDragDropClient client)
 {
     if (sourceNode == null)
     {
         throw new ArgumentNullException("sourceNode");
     }
     if (client == null)
     {
         throw new ArgumentNullException("client");
     }
     this.SourceNode = sourceNode;
     this.Client     = client;
 }
Exemple #2
0
        public void DoDragDrop(IDragDropClient client, TreeNode node, DragDropEffects effects)
        {
            if (client == null)
            {
                throw new ArgumentNullException("client");
            }
            if (node == null)
            {
                throw new ArgumentNullException("node");
            }

            using (ImageList imgList = this.CreateImageList(node))
            {
                TreeViewDragDropHelper.ImageList_BeginDrag(imgList.Handle, 0, 0, 0);

                try
                {
                    node.TreeView.DragDrop  += new DragEventHandler(this.TreeView_DragDrop);
                    node.TreeView.DragEnter += new DragEventHandler(this.TreeView_DragEnter);
                    node.TreeView.DragLeave += new EventHandler(this.TreeView_DragLeave);
                    node.TreeView.DragOver  += new DragEventHandler(this.TreeView_DragOver);

                    try
                    {
                        using (new ScrollHelper(node.TreeView))
                            node.TreeView.DoDragDrop(new DragDropInformation(node, client), effects);
                    }
                    finally
                    {
                        TreeView tree = node.TreeView;
                        if (tree != null)
                        {
                            tree.DragDrop  -= new DragEventHandler(this.TreeView_DragDrop);
                            tree.DragEnter -= new DragEventHandler(this.TreeView_DragEnter);
                            tree.DragLeave -= new EventHandler(this.TreeView_DragLeave);
                            tree.DragOver  -= new DragEventHandler(this.TreeView_DragOver);
                        }
                    }
                }
                finally
                {
                    TreeViewDragDropHelper.ImageList_EndDrag();
                }
            }
        }
 public DragDropInformation(TreeNode sourceNode, IDragDropClient client)
 {
     if (sourceNode == null)
         throw new ArgumentNullException("sourceNode");
     if (client == null)
         throw new ArgumentNullException("client");
     this.SourceNode = sourceNode;
     this.Client = client;
 }
        public void DoDragDrop(IDragDropClient client, TreeNode node, DragDropEffects effects)
        {
            if (client == null)
                throw new ArgumentNullException("client");
            if (node == null)
                throw new ArgumentNullException("node");

            using (ImageList imgList = this.CreateImageList(node))
            {
                TreeViewDragDropHelper.ImageList_BeginDrag(imgList.Handle, 0, 0, 0);

                try
                {
                    node.TreeView.DragDrop += new DragEventHandler(this.TreeView_DragDrop);
                    node.TreeView.DragEnter += new DragEventHandler(this.TreeView_DragEnter);
                    node.TreeView.DragLeave += new EventHandler(this.TreeView_DragLeave);
                    node.TreeView.DragOver += new DragEventHandler(this.TreeView_DragOver);

                    try
                    {
                        using(new ScrollHelper(node.TreeView))
                            node.TreeView.DoDragDrop(new DragDropInformation(node, client), effects);
                    }
                    finally
                    {
                        TreeView tree = node.TreeView;
                        if (tree != null)
                        {
                            tree.DragDrop -= new DragEventHandler(this.TreeView_DragDrop);
                            tree.DragEnter -= new DragEventHandler(this.TreeView_DragEnter);
                            tree.DragLeave -= new EventHandler(this.TreeView_DragLeave);
                            tree.DragOver -= new DragEventHandler(this.TreeView_DragOver);
                        }
                    }
                }
                finally
                {

                    TreeViewDragDropHelper.ImageList_EndDrag();
                }
            }
        }