Предположим, у меня есть дерево с 3 категориями, каждый из которых имеет 3 дочерних узла. Я хочу удалить корневой узел, когда все дочерние узлы удаляются. Я пробовал что-то вроде этого:Удалить пустой корневой узел в treeView
TreeNode current = treeView1.SelectedNode;
TreeNode parent = treeView1.SelectedNode.Parent;
if (parent.Nodes.Count == 0)
{
parent.Nodes.Remove(current);
}
И я поместил его в Form1_Load. К сожалению, когда все дочерние узлы отсутствуют, ничего не происходит. Правильно ли этот код? Или, может быть, я упустил его, и я должен разместить его где-то в другом месте?
редактировать: Мое дерево выглядит следующим образом:
Утро
- чистить зубы
- пить кофе
Послеобеденный
- ужин
- TV
Ночь
- Сон
Так что, если я решу удалить "Sleep", я хочу также удалить "Night". Но если я решил удалить «ТВ», я хочу сохранить «Ужин» и «День».
Ты от ребенка _to_ родителя. Предполагая, что не вызывается 'NullReferenceException',' parent.Nodes.Count' всегда будет как минимум 1. –