Как отметить CheckBox-ы дочерних элементов дерева TreeView при нажатии на кнопку - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Добрый день. Есть дерево TreeView c чекбоксами. Есть вспомогательный CheckedListBox Необходимо при включении/отключении первого чекбокса в листе - включить/отключить только узловые элементы дерева TreeView При вкл/откл второго чекбокса в листе - вкл/откл только дочерние элементы первого уровня (Без включения корневой ветки) При активизации третьего чекбокса - дочерние элементы второго уровня и т.д. Получилось только выделение узловых элементов.
Листинг программы
  1. Private Sub CheckedListBox1_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles CheckedListBox1.ItemCheck
  2. Select Case e.NewValue
  3. Case CheckState.Checked
  4. If e.Index = 0 Then
  5. For Each trview In TreeView1.Nodes
  6. trview.Checked = True
  7. Next
  8. End If
  9. '---------------- В данном месте программы должны включаться дочерние элементы -----------------
  10. If e.Index = 1 Then
  11. For Each trview In TreeView1.Nodes 'Данная строчка кода не правильная, не могу понять, как достучаться до дочерних элементов
  12. node.Expand()
  13. node.Checked = True
  14. Next
  15. End If
  16. '------------------------------------------------------------------------------------------------------------------
  17. Case CheckState.Unchecked
  18. If e.Index = 0 Then
  19. For Each trview In TreeView1.Nodes
  20. trview.Checked = False
  21. Next
  22. End If
  23. '---------------- В данном месте программы должны выключаться дочерние элементы -----------------
  24. If e.Index = 1 Then
  25. For Each trview In TreeView1.Nodes 'Данная строчка кода не правильная, не могу понять, как достучаться до дочерних элементов
  26. trview.Checked = False
  27. Next
  28. End If
  29. '------------------------------------------------------------------------------------------------------------------
  30. End Select
  31. End Sub
Дерево заполняется динамически. Спасибо

Решение задачи: «Как отметить CheckBox-ы дочерних элементов дерева TreeView при нажатии на кнопку»

textual
Листинг программы
  1. Private Sub CheckedListBox1_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles CheckedListBox1.ItemCheck
  2.                 If e.Index = 0 Then
  3.                     For Each trview In TreeView1.Nodes
  4.                         trview.Checked = e.NewValue
  5.                     Next
  6.                 End If
  7.  
  8.                 If e.Index = 1 Then
  9.                     For Each trview In TreeView1.Nodes
  10.                        For Each nd In trview.Nodes
  11.                            nd.Expand()
  12.                            nd.Checked = e.NewValue
  13.                        Next
  14.                     Next
  15.                 End If
  16.     End Sub

ИИ поможет Вам:


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

Оцени полезность:

13   голосов , оценка 3.923 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы