フォームにツリービューを追加しました。チェックされているかどうかに関係なく、チェックボックスの値を取得したいと思います。
また、ノードの数を取得しようとしています。ツリーには4つのノードがあります。
Dim nodes As TreeNodeCollection = TreeView1.Nodes
MsgBox(nodes.Count)
1を与えます。
ありがとう
フォームにツリービューを追加しました。チェックされているかどうかに関係なく、チェックボックスの値を取得したいと思います。
また、ノードの数を取得しようとしています。ツリーには4つのノードがあります。
Dim nodes As TreeNodeCollection = TreeView1.Nodes
MsgBox(nodes.Count)
1を与えます。
ありがとう
...これはおそらくこれを行うための最良の方法ではありませんが、機能します...
関数は次のようになります。
Function GetAllCheckedNodes(ByVal tv As TreeView, Optional ByRef tn As TreeNode = Nothing) As List(Of TreeNode)
Dim RetVal As New List(Of TreeNode)
If tn Is Nothing Then
For Each nd In tv.Nodes
RetVal.AddRange(GetAllCheckedNodes(tv, nd))
Next
Else
If tn.Checked Then RetVal.Add(tn)
For Each nd In tn.Nodes
RetVal.AddRange(GetAllCheckedNodes(tv, nd))
Next
End If
Return RetVal
End Function
そして、それを使用するコードは次のようになります。
Dim MyList As List(Of TreeNode) = GetAllCheckedNodes(tvAccounts)
また
Dim MyList As List(Of TreeNode) = GetAllCheckedNodes(tvAccounts, nd)
nd
チェックされているすべての子ノードを取得するツリービュー内の特定のノードはどこにありますか。
これが役に立ち、理にかなっていることを願っています。