Как отметить CheckBox-ы дочерних элементов дерева TreeView при нажатии на кнопку - Visual Basic .NET
Формулировка задачи:
Добрый день. Есть дерево TreeView c чекбоксами.
Есть вспомогательный CheckedListBox
Необходимо при включении/отключении первого чекбокса в листе - включить/отключить только узловые элементы дерева TreeView
При вкл/откл второго чекбокса в листе - вкл/откл только дочерние элементы первого уровня (Без включения корневой ветки)
При активизации третьего чекбокса - дочерние элементы второго уровня и т.д.
Получилось только выделение узловых элементов.
Дерево заполняется динамически.
Спасибо
Листинг программы
- Private Sub CheckedListBox1_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles CheckedListBox1.ItemCheck
- Select Case e.NewValue
- Case CheckState.Checked
- If e.Index = 0 Then
- For Each trview In TreeView1.Nodes
- trview.Checked = True
- Next
- End If
- '---------------- В данном месте программы должны включаться дочерние элементы -----------------
- If e.Index = 1 Then
- For Each trview In TreeView1.Nodes 'Данная строчка кода не правильная, не могу понять, как достучаться до дочерних элементов
- node.Expand()
- node.Checked = True
- Next
- End If
- '------------------------------------------------------------------------------------------------------------------
- Case CheckState.Unchecked
- If e.Index = 0 Then
- For Each trview In TreeView1.Nodes
- trview.Checked = False
- Next
- End If
- '---------------- В данном месте программы должны выключаться дочерние элементы -----------------
- If e.Index = 1 Then
- For Each trview In TreeView1.Nodes 'Данная строчка кода не правильная, не могу понять, как достучаться до дочерних элементов
- trview.Checked = False
- Next
- End If
- '------------------------------------------------------------------------------------------------------------------
- End Select
- End Sub
Решение задачи: «Как отметить CheckBox-ы дочерних элементов дерева TreeView при нажатии на кнопку»
textual
Листинг программы
- Private Sub CheckedListBox1_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles CheckedListBox1.ItemCheck
- If e.Index = 0 Then
- For Each trview In TreeView1.Nodes
- trview.Checked = e.NewValue
- Next
- End If
- If e.Index = 1 Then
- For Each trview In TreeView1.Nodes
- For Each nd In trview.Nodes
- nd.Expand()
- nd.Checked = e.NewValue
- Next
- Next
- End If
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д