我在我的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