1、拖拽节点到另一个容器Panel中
TreeView控件需要监听:(1)ItemDrag事件(当用户开始拖动节点时发生)。
对于Panel控件:
(1)开启Panel的AlowDrop属性设置为true 表示允许进行拖入操作
(2)DragEnter事件 在将对象拖入控件的边界时发生。
(3)DragDrop事件 在完成拖放操作时发生。
private void OnTreeView1ItemDrag(object sender, ItemDragEventArgs e)//TreeView的ItemDrag事件 { IDataObject data = new DataObject(); data.SetData("Test", e.Item); //开始拖放操作 this.DoDragDrop(data, DragDropEffects.Copy); } private void OnPanel1DragEnter(object sender, DragEventArgs e)//Panel的DragEnter { if (e.Data.GetDataPresent("Test")) e.Effect = DragDropEffects.Copy; else e.Effect = DragDropEffects.None; } private void OnPanel1DragDrop(object sender, DragEventArgs e)//Panel的DragDrop事件 { object item = e.Data.GetData("Test"); TreeNode node = (TreeNode)item; Label label = new Label(); this.panel1.Controls.Add(label); label.AutoSize = true; label.Location = new System.Drawing.Point(e.X - this.treeView1.Width - this.panel1.Location.X, e.Y - this.panel1.Location.Y); label.Name = node.Name; label.Size = new System.Drawing.Size(, ); label.TabIndex = ; label.Text = node.Name; }
标签:控件,object,汇总,label,new,Winform,TreeView,Panel From: https://www.cnblogs.com/Mars-0603/p/17069730.html