【发布时间】:2013-07-19 14:19:30
【问题描述】:
假设我有 3 个类别的树,每个类别都有 3 个子节点。当所有子节点都被删除时,我想删除根节点。我尝试过这样的事情:
TreeNode current = treeView1.SelectedNode;
TreeNode parent = treeView1.SelectedNode.Parent;
if (parent.Nodes.Count == 0)
{
parent.Nodes.Remove(current);
}
我把它放在 Form1_Load 中。不幸的是,当所有子节点都消失时,什么也没有发生。这段代码正确吗?或者也许我放错了地方,我应该把它放在别的地方?
编辑:我的树看起来像这样:
早上
- 刷牙
- 喝咖啡
下午
- 晚餐
- 电视
夜晚
- 睡觉
所以如果我决定删除“睡眠”,我也想删除“夜晚”。但是如果我决定删除“TV”,我想保留“Dinner”和“Afternoon”。
【问题讨论】:
-
你要从孩子到父母。假设没有抛出
NullReferenceException,parent.Nodes.Count将始终至少为 1。
标签: c# winforms visual-studio-2010 treeview