防止DotNetBar AdvTree / TreeControl的子节点上的拖放

时间:2012-09-07 10:41:47

标签: c# treecontrol dotnetbar

我正在使用DotNetBar Advtree组件实现TreeControl。然而,我似乎正在努力寻找属性,使特定节点不可能有任何孩子。我想在下面停止以下内容;

How to stop this with the TreeControl component?

例如,RSS源不能包含RSS源。一些实际上我希望一些节点可以拖动,并且可以有子节点,而其他节点只能拖动。

enter image description here

感谢您的帮助。我注意到我将NodesIndent属性设置为-1或5000但没有任何帮助。

2 个答案:

答案 0 :(得分:2)

根据http://www.devcomponents.com/kb2/?p=327,有一个DragDropEnabled属性来控制它。如果这不起作用,请处理BeforeNodeDragStart事件并取消拖动。

[编辑:添加以下内容]

要防止在某些节点下拖动节点而不是其他节点,请处理BeforeNodeDrop事件并设置Cancel = true如果被拖动的节点无法作为子节点添加到目标节点。

答案 1 :(得分:1)

刚刚在文档中发现;

“获取或设置要拖动的节点的NewParentNode.Nodes集合内的新插入位置。如果InsertPosition为-1,则ParentNode引用当前鼠标悬停在节点上并拖动& drop node将作为子节点添加到它。“

所以基本上我可以捕获它是否被添加到子节点,比较节点类型并决定是否接受丢弃。

相关问题