要實現C#中TreeNode的拖放功能,你可以按照以下步驟操作:
首先,確保你的TreeView控件的AllowDrop屬性設置為true,這樣才能夠拖放TreeNode。
在TreeView的ItemDrag事件中,設置要拖動的TreeNode的DoDragDrop方法。例如:
private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
{
DoDragDrop(e.Item, DragDropEffects.Move);
}
private void treeView1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void treeView1_DragDrop(object sender, DragEventArgs e)
{
TreeNode newNode = (TreeNode)e.Data.GetData(typeof(TreeNode));
Point pt = treeView1.PointToClient(new Point(e.X, e.Y));
TreeNode targetNode = treeView1.GetNodeAt(pt);
if (targetNode != null)
{
targetNode.Nodes.Add((TreeNode)newNode.Clone());
targetNode.Expand();
}
}
通過以上步驟,你可以實現C#中TreeNode的拖放功能。