tags:

views:

29

answers:

1

I created Drag&Drop mechanism for my TreeView. I added DragEnter, DragDrop and ItemDrag methods and everything works fine.

But when you are doing D&D with standard Windows controls, destination node is highlighted. Image is worth 1000 words, video probably even more: http://www.youtube.com/watch?v=PlltSiihHPo

I mean such highlight effect like you can see in this video on Recycle Bin.

+1  A: 

That's not a TreeView, it's a ListView with View = LargeIcons. TreeView isn't a great control as a drop target since it hides sub-nodes. But you can solve both problems by implementing the DragOver event. Test where the mouse is at and expand and select the node:

    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;
        }
    }
Hans Passant