3 층 트리 뷰가 있으며 아래 코드를 사용하고 있습니다. 다음을 수행하도록합니다.3 개의 레이어 Treeview 노드 체크 박스
1) 상위가 선택되면 모든 하위 노드를 검사하십시오.
2) 자식 노드가 하나만 선택 취소되어 있으면 부모 노드의 선택을 취소하십시오.
3) 모든 하위 노드가 선택되면 부모 노드를 선택하십시오.
아래 코드는 2 개의 레이어에서만 작동합니다. 네가 나를 세 가지 방법으로 안내해 주시면 감사하겠습니다. treeview에 대한 많은 정보가 있지만 그들 중 대부분은 부적절한 것 같습니다.// 당신이 treeview 컨트롤에 대한 좋은 가이드를 보여줄 수 있다면 좋을 것입니다. 고맙습니다!
Private Sub TreeView1_AfterCheck(ByVal sender As Object, ByVal e As TreeViewEventArgs) Handles TreeView1.AfterCheck
RemoveHandler TreeView1.AfterCheck, AddressOf TreeView1_AfterCheck
For Each node As TreeNode In e.Node.Nodes
node.Checked = e.Node.Checked
Next
If e.Node.Checked Then
If e.Node.Parent Is Nothing = False Then
Dim allChecked As Boolean = True
For Each node As TreeNode In e.Node.Parent.Nodes
If Not node.Checked Then
allChecked = False
End If
Next
If allChecked Then
e.Node.Parent.Checked = True
End If
End If
Else
If e.Node.Parent Is Nothing = False Then
e.Node.Parent.Checked = False
End If
End If
AddHandler TreeView1.AfterCheck, AddressOf TreeView1_AfterCheck
End Sub
완벽! 이것은 treeview에 대한 매우 일반적인 용도이므로 vb.net에 사전 프로그래밍되어야합니다. 왜 수동으로 수행해야하는지 모르겠다. –