ich diesen Code versucht haben:Prüfung Eltern, wenn alle seine Knoten überprüft und alle Knoten überprüfen, wenn ihre Eltern überprüft wirft Fehler
Private Sub TreeView1_AfterCheck(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterCheck
Dim blnUncheck As Boolean = False
Dim tn As TreeNode
If e.Node.Nodes.Count = 0 Then
For Each child As TreeNode In e.Node.Parent.Nodes
If child.Checked = False Then
blnUncheck = True
End If
Next
If blnUncheck = False Then
e.Node.Parent.Checked = True
Else
e.Node.Parent.Checked = False
End If (the code above is used to check parent when nodes are checked)
Else (the code below is used to check nodes of parent when parent is checked)
If e.Node.Checked = True Then
For Each tn In e.Node.Nodes
tn.Checked = True
Next
Else
For Each tn In e.Node.Nodes
tn.Checked = False
Next
End If
End If
End Sub
um: a) Prüfung alle Knoten, wenn ihre Eltern überprüft b) Prüfung Eltern, wenn alle es der Knoten
geprüft Obwohl, wenn, wenn ich einen von zwei entfernen (a, b) aus dem Code funktioniert es
Wenn ich sie kombiniere (wie der Code, den ich geschrieben habe), wird eine stackoverflow-Ausnahme ausgelöst. Der Code wird in der Baumansicht mit Kontrollkästchen verwendet.
EDIT: behobenes Besuchen Sie diesen Link TreeView.BeforeCheck Event um Hilfe (sorgfältig lesen)
Mit ein bisschen Bearbeitung funktionierte es! Ich referenziere diesen Link [TreeView.BeforeCheck Event] (https://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.beforecheck%28v=vs.110%29.aspx?cs-save -lang = 1 & cs-lang = vb # Code-Snippet-2) für Leute, die es in Zukunft brauchen könnten – Technologuy
Gute Sachen! Dieser Link ist wirklich nützlich! –