Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > получить список из TreeView.Nodes


Автор: MasterOfCode 21.5.2008, 15:15
У меня есть TreeView, в нем есть ветка treeView1.Nodes["selected"], она имеет еще 2 вложенности. Как мне получить список имен (в переменную типа string через запятую)  конечных вершин по этой ветке?

Автор: _hunter 21.5.2008, 16:52
пробегайся по всем детям (FirstNode/NextNode) и если это конечная вершина (чтобы это ни значило) -- дописывай имя в строку через запятую...

Автор: Chef 21.5.2008, 18:00

Код

    List<string> list = new List<string>();
            foreach (TreeNode node in treeView1.Nodes["ТвойNode"].Nodes)
            {
                list.Add(node.Text);
            }


Каждый Node имеет, свои "под ноды" так сказать. 

Их узнать мона в Nodes

Автор: MasterOfCode 21.5.2008, 19:18
Цитата(Chef @  21.5.2008,  18:00 Найти цитируемый пост)
код C#

    List<string> list = new List<string>();
            foreach (TreeNode node in treeView1.Nodes["ТвойNode"].Nodes)
            {
                list.Add(node.Text);
            }


Этот код случайно не пробежит только непосредственно по нодам ["ТвойNode"], а по дочерним нодам пойдет?

Автор: Chef 21.5.2008, 20:11
А их там два..... , не досмотрел....

Ну еще один цикл, по этим вложенностям

Код

List<string> list = new List<string>();
            foreach (TreeNode node in treeView1.Nodes["ТвойNode"].Nodes)
            {
                if(node.Nodes.Count>0)
                     foreach (TreeNode node_In in node.Nodes)
                            {
                                 list.Add(node_In.Text);
                            }
            }


Если нодов не известное количество вложений, я бы рекурсией сбацал. Это же простой обход вершин дерева


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