Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows窗体:在拖放过程中高亮显示TreeView中的目标节点;滴_C#_Winforms - Fatal编程技术网

C# Windows窗体:在拖放过程中高亮显示TreeView中的目标节点;滴

C# Windows窗体:在拖放过程中高亮显示TreeView中的目标节点;滴,c#,winforms,C#,Winforms,我为我的TreeView创建了拖放机制。我添加了DragEnter、DragDrop和ItemDrag方法,一切都很好 但当您使用标准Windows控件进行D&D时,目标节点将高亮显示。 图像价值1000字,视频可能更高: 我的意思是,你可以在回收站的视频中看到这样的突出效果。这不是树视图,而是视图=大图标的列表视图。TreeView并不是一个很好的拖放目标控件,因为它隐藏了子节点。但您可以通过实现DragOver事件来解决这两个问题。测试鼠标所在位置,展开并选择节点: void tr

我为我的TreeView创建了拖放机制。我添加了DragEnter、DragDrop和ItemDrag方法,一切都很好

但当您使用标准Windows控件进行D&D时,目标节点将高亮显示。 图像价值1000字,视频可能更高:


我的意思是,你可以在回收站的视频中看到这样的突出效果。

这不是树视图,而是视图=大图标的列表视图。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;
        }
    }