private void deleteNode(object sender, EventArgs e) { try { // get current tree node TreeNode tnNode = GetCurrentTreeNode(); // clear parent node childrens DocTreeNodeBranch parentBranch = tnNode.Parent.Tag as DocTreeNodeBranch; parentBranch.ClearChildrens(); // remove DocumentTreeNode DocTreeNode docTreeNode = tnNode.Tag as DocTreeNode; docTreeNode.delete(); // remove tree node tnNode.Remove(); } catch (Exception ex) { Debug.Fail(ex.ToString()); Logger.Write(ex.ToString(), Category.General, Priority.Highest); } }