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