我希望实现一种剪切和粘贴方法来替换TreeView
控件中的拖放。拖放不再适用于TreeView,我相信剪切和粘贴对于使用它的人来说会更容易。在这个TreeView中,我将只剪切子节点。此对象只有父节点和子节点(父节点是日期,子节点是购买订单。)我不确定是否有cut
属性和/或paste
属性用于{ {1}}或我需要使用的任何东西。
答案 0 :(得分:1)
...点击剪切后,将所选节点复制到
中copynode
。然后删除所选节点。 所以节点存储在copynode
槽
这不会起作用copynode
是引用到您刚删除(销毁)的内容,因此删除后copynode
将指向Nothing
}。
相反;当切割事件发生时,将切割节点的关键特征(文本,键,图标索引等)存储到模块级用户定义的类型(或分隔的字符串/类/变量系列)并删除节点。然后,您可以使用此数据作为在引发粘贴事件时构造新节点的基础。
(剪切/粘贴事件没有绑定到Windows剪贴板,而是基于上下文菜单/检测到ctrl + X / V,这是你自己的发明)
我不知道如何在我粘贴它时检查节点是否有孩子
if tv.SelectedItem.Children > 0 then
... got child nodes