111,131
社区成员
发帖
与我相关
我的任务
分享
private void treeView1_DragDrop(object sender, DragEventArgs e)
{
TreeNode fromNode = e.Data.GetData(typeof(TreeNode)) as TreeNode;
TreeNode toNode = treeView1.GetNodeAt(treeView1.PointToClient(new Point(e.X, e.Y)));
if (fromNode != null && toNode != null)
{
//判断toNode是不是fromNode的子节点,如果是则返回
TreeNode[] childs = fromNode.Nodes.Find(toNode.Name, true);
if (childs.Length > 0)
{
return;
}
treeView1.Nodes.Remove(fromNode);
toNode.Nodes.Add(fromNode);
treeView1.ExpandAll();
}
}
public Form1()
{
InitializeComponent();
treeView1.AllowDrop = true;
}
private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
{
treeView1.DoDragDrop(e.Item, DragDropEffects.Move);
}
private void treeView1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(TreeNode)))
{
e.Effect = e.AllowedEffect;
}
}
private void treeView1_DragDrop(object sender, DragEventArgs e)
{
TreeNode fromNode = e.Data.GetData(typeof(TreeNode)) as TreeNode;
TreeNode toNode = treeView1.GetNodeAt(treeView1.PointToClient(new Point(e.X, e.Y)));
if (fromNode != null && toNode != null)
{
treeView1.Nodes.Remove(fromNode);
toNode.Nodes.Add(fromNode);
treeView1.ExpandAll();
}
}