Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > TreeView - получение индекса родителя


Автор: AGENTxXx 10.2.2012, 12:59
Добрый день! 
Вот все ни как не могу найти свойство/функцию с помощью которой можно было узнать индекс родителя для дочернего элемента.
Когда я нахожусь в каком нибудь дочернем элементе (причем глубина может быть больше 5, например) необходимо узнать индекс родителя самого верхнего уровня, т.е. самый первый, который и является вершиной дерева.
Я смог только определить, нахожусь ли я на самом верхнем уровне или нет, а нужно узнать, какой индекс у родителя, который на самом верхнем уровне.
Мне это нужно для того, чтобы удалить можно было полностью все созданное дерево!!!

Надеюсь понятно объяснил! 
Всем заранее спасибо!!!

Автор: AGENTxXx 10.2.2012, 19:20
В общем - нарвался пока что на такой вариант: 
Ключи узла именовать таким образом, чтобы мы по этому имени могли понять, кто у нас основной родитель!
Пока что метод найти не получилось. Если кто знает - сообщите пожалуйста. Ну или свои варианты))) Думаю вариант с нижнего уровня постепенно подниматься на более высокий - не совсем подойдет! =)

Автор: diadiavova 10.2.2012, 22:15
Если под индексом родителя подразумевается глубина, то можно ее вычислить с помощью метода расширения, вот такого
Код

public static int Depth(this TreeNode node)
{
    return node.Parent == null ? 0 : node.Parent.Depth() + 1;
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)