winform里treeview的单个节点拖动可以,但是模仿单个节点我写了以下多个节点拖动的代码,但是没有效果,只会把当前选中的节点删除,不会insert,大家帮忙看看为什么?private void treeView1_DragDrop(object sender, DragEventArgs e)
{
Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
TreeNode DropNode = ((TreeView)sender).GetNodeAt(pt);
if (DropNode != null)
{
foreach (TreeNode selected in treeView1.SelectedNodes)
{
DropNode.Parent.Nodes.Remove(selected);
}
foreach (TreeNode DragNode in NodesToBeDeleted)
{
DropNode.Parent.Nodes.Insert(DropNode.Index + 1, DragNode);
}
}
}
private void treeView1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
} private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
{
foreach (TreeNode selected in treeView1.SelectedNodes)
{
NodesToBeDeleted.Add(selected);
}
DoDragDrop(NodesToBeDeleted, DragDropEffects.Move);
}TreeViewWinForm.NET
{
Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
TreeNode DropNode = ((TreeView)sender).GetNodeAt(pt);
if (DropNode != null)
{
foreach (TreeNode selected in treeView1.SelectedNodes)
{
DropNode.Parent.Nodes.Remove(selected);
}
foreach (TreeNode DragNode in NodesToBeDeleted)
{
DropNode.Parent.Nodes.Insert(DropNode.Index + 1, DragNode);
}
}
}
private void treeView1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
} private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
{
foreach (TreeNode selected in treeView1.SelectedNodes)
{
NodesToBeDeleted.Add(selected);
}
DoDragDrop(NodesToBeDeleted, DragDropEffects.Move);
}TreeViewWinForm.NET
是不是Add()不是Inser呢