【发布时间】:2014-01-21 19:23:54
【问题描述】:
我正在尝试在同一控件中实现树视图项的 DragDrop。
我希望能够将一个项目从一个节点移动到另一个节点。
这是我当前的代码,当我运行它时,我可以看到项目已开始拖动,但窗口图标不允许将其拖放到控件上的任何节点。
我当前的代码
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)
{
if (e.Data.GetDataPresent(typeof(TreeNode)))
{
TreeNode sourceNode = e.Data.GetData(typeof(TreeView)) as TreeNode;
var item = new TreeNode(sourceNode.Text);
System.Drawing.Point pt = ((TreeView)sender).PointToClient(new System.Drawing.Point(e.X, e.Y));
TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(pt);
DestinationNode.Nodes.Add(item);
DestinationNode.Expand();
}
}
【问题讨论】:
标签: c# winforms drag-and-drop treeview