我为TreeView创建了Drag& Drop机制。我添加了DragEnter,DragDrop和ItemDrag方法,一切正常。
但是当您使用标准Windows控件进行D& D时,目标节点会突出显示。 图像值1000字,视频可能更多: http://www.youtube.com/watch?v=PlltSiihHPo
我的意思是你可以在这个关于回收站的视频中看到这样的高亮效果。
答案 0 :(得分:1)
这不是TreeView,它是一个带有View = LargeIcons的ListView。 TreeView作为放置目标不是一个很好的控件,因为它隐藏了子节点。但是您可以通过实现DragOver事件来解决这两个问题。测试鼠标所在的位置并展开并选择节点:
void treeView1_DragOver(object sender, DragEventArgs e) {
var pos = treeView1.PointToClient(new Point(e.X, e.Y));
var hit = treeView1.HitTest(pos);
if (hit.Node != null) {
hit.Node.Expand();
treeView1.SelectedNode = hit.Node;
}
}