我在我的winform上有一个TreeView,它使用了TreeNode的子类以及一些我希望针对每个节点存储的额外变量。用户可以使用上下文菜单从我的树中删除节点。在winforms中扩展TreeNode功能
我希望能够做的是扩展TreeNode的Remove方法,以便在删除节点之前在那里做一些额外的处理。有没有办法做到这一点?
为了澄清...
有没有办法为树节点扩展现有的删除方法使代码可以执行它的实际执行删除之前?
干杯,
编辑:我其实假设方式,我将不得不做,这是与()改为调用this.Remove一种新的方法扩展类?
编辑2:这就是我最终做的。这是不是最好的办法...
public partial class CustomTreeNode : TreeNode
{
// My custom TreeNode vars
public int UID;
public int ParentUID;
public CustomTreeNode(string nodeName) : base(nodeName)
{
// Set the tree node here
}
public void RemoveIt()
{
// Custom stuff
System.Console.WriteLine("Deleted");
base.Remove();
}
}
当我尝试这样做时,我得到“无法重载继承的成员'System.Windows.Forms.TreeNode.Remove()',因为它没有标记为虚拟的,抽象的或覆盖。 – Simon 2012-04-24 16:11:45
哦,是的,我忘记了,编辑我的回答 – Joel 2012-04-24 16:31:06