.NET TreeNode可以知道它的父级已经改变了吗?

时间:2012-09-13 20:33:51

标签: c# .net windows winforms

我有一个在.NET 3.5(C#)TreeNode中扩展LocationNode的类。此类是TreeNode,但包含一些其他数据点以便于提取。显示这些LocationNode个对象的TreeView具有Drag& amp;删除功能已实现。每个LocationNode对象都有一个dirty标志,指示用户是否更改了我关心的任何数据点。巧合的是,我关心的一个数据点是父节点。

我可以在Drag& amp;中实现一些功能。删除代码以确定父节点是否已经变得足够简单,但为了抽象,我希望LocationNode对象跟踪它们自己的脏标志并在必要时将其设置为true。

有没有办法知道父节点是否已更改?我没有看到任何可以从LocationNode挂钩的事件,当它从集合中添加或删除时会提醒我。

想法?

1 个答案:

答案 0 :(得分:1)

将节点添加到树视图时,存储其父节点(或parent.fullpath),然后在执行脏计算时将当前父节点与存储节点进行比较。然后在您的SetClean()函数中,再次存储当前父级。