Проверка всех CheckBox в TreeView - VB
Формулировка задачи:
Здравствуйте всем.
Никак не могу придумать, как проверить все ли checkbox is checked в treeview .
Нужно, чтобы если в Node.Parent.Children коллекции отмечены или неотмечены ВСЕ чекбосы- Boolean = True.
И наоборот , если один или несколько checked/unchecked, то Boolean = False.
Пробовал с Do ... While , If ... Then ... Next , то синтаксис не тот , то компиллер не пропускает.
Если кто-то сможет пример или ссылку.
Спасибо.
Пробовал так:
Не хочет.
Решение задачи: «Проверка всех CheckBox в TreeView»
textual
Листинг программы
Private Sub TreeView1_NodeCheck(ByVal Node As MSComctlLib.Node) Dim i As Integer, nodx As Node If Node.Children <> 0 Then 'If node has children Set nodx = Node.Child 'Catch first child For i = 1 To Node.Children 'Loop through each child nodx.Checked = Node.Checked 'Set as checked Set nodx = nodx.Next 'Catch next child Next 'Loop Else: AllChecked Node End If End Sub Private Sub AllChecked(Node As Node) 'Child node Dim i As Integer, nodx As Node Dim Switch As Boolean Dim AllNodes As Boolean 'If Node.Parent Is Nothing Then MsgBox "root" Set nodx = Node.Parent.Child Switch = nodx.Checked AllNodes = True For i = 1 To Node.Parent.Children If Switch <> nodx.Checked Then AllNodes = False Switch = nodx.Checked Set nodx = nodx.Next Next i AllNodes = Not AllNodes Node.Parent.ForeColor = Abs(Int(AllNodes)) * vbRed Node.Parent.Bold = AllNodes End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д