• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Как обращаться к любому ноду в Treeview

  • Автор темы Andrew1981
  • Дата начала
A

Andrew1981

У меня есть многоуровневое TreeView с множеством узлов и нодов
1)Как обратиться к конкретному узлу
2)Как обратиться к конкретному потомку в этом узле.
3)Как подсчитать количество детей у конкретного родителя.

При помощи TreeView.Nodes.Count получаю только количество корневых нодов.При помощи
TreeView.При помощи Nodes.Child.Child и так далее Child и Nodes.Child.Child
и так далее Child Child.Next могу обращаться только к первому и второму потомку.А мне надо
к любому.Расскажите, пожалуйста, как надо.
 
T

Tanya

Что значит любой? Наверное ты все же заешь о каком ноде тебе нужна информация

При заполнении дерева для каждого нода указывай уникальный ключ
и тогда можешь кнему обращаться напрямую

Код:
With Me.TreeView1
.Nodes.Add Key:="ID1", Text:="1"
.Nodes.Add Key:="ID2", Text:="2"
.Nodes.Add Key:="ID3", Text:="3"
.Nodes.Add "ID2", tvwChild, "ID2_1", "2.1"
.Nodes.Add "ID2", tvwChild, "ID2_2", "2.2"

.Nodes("ID2").Selected = True
.Nodes("ID3").Bold = True

.Nodes("ID2").Text = "2 (Childs = " & .Nodes("ID2").Children & ")"
End With
 
A

Andrew1981

Что значит любой? Наверное ты все же заешь о каком ноде тебе нужна информация

При заполнении дерева для каждого нода указывай уникальный ключ
и тогда можешь кнему обращаться напрямую

Код:
With Me.TreeView1
.Nodes.Add Key:="ID1", Text:="1"
.Nodes.Add Key:="ID2", Text:="2"
.Nodes.Add Key:="ID3", Text:="3"
.Nodes.Add "ID2", tvwChild, "ID2_1", "2.1"
.Nodes.Add "ID2", tvwChild, "ID2_2", "2.2"

.Nodes("ID2").Selected = True
.Nodes("ID3").Bold = True

.Nodes("ID2").Text = "2 (Childs = " & .Nodes("ID2").Children & ")"
End With
Дело в том, что нодов ОЧЕНЬ много.И уровней у дерево тоже очень много.И мне надо в цикле просмотреть все.Если я буду каждому сопоставлять ключи, то я в них утону.
 
T

Tanya

Так нужно к конкретному узлу или ко всем обращаться? Что-то непонятно ...
Можно ли как-то поподробнее описать или это большая тайна ? ;-)
 
A

Andrew1981

Так нужно к конкретному узлу или ко всем обращаться? Что-то непонятно ...
Можно ли как-то поподробнее описать или это большая тайна ? ;-)
Я уже разобрался, спасибо.Set CurrentNode=Node.Child Set CurrentNode=CurrentNode.Next и так далее.
Нужно было обойти все дерево, но посредством обращения к каждому узлу зная чей он предок и чей потомок.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!