TreeViewコントロールに表示されているノード数を取得するには、TreeNodeクラスのGetNodeCountメソッドを使用します。
サブツリーのノード数まで取得したい場合は、GetTreeNodeメソッドの引数にTrueを指定します。
また、選択されているノードの子ノード数を崇徳したい場合はSelectedNodeプロパティのGetNodeCountメソッドを使用します。
使用方法は、TreeViewクラスのGetNodeCountメソッドと同じです。
下記は、ノード数を取得する例です。
[全ノード数の取得]ボタンがクリックされると全ノード数を取得し、[選択ノードが持つ子ノード数を取得]ボタンがクリックされると選択されたノードの子ノード数を取得して表示します。
VBの例
' フォームロード時の処理 Private Sub Form9_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load '親ノード Dim rootNode As New TreeNode("ルート") '子ノード Dim childNode1 As New TreeNode("子ノード1") Dim childNode2 As New TreeNode("子ノード2") '★★★子ノード1のチェックをONにする★★★ childNode1.Checked = True '孫ノード Dim grandChildNode1 As New TreeNode("孫ノード1") Dim grandChildNode2 As New TreeNode("孫ノード2") Dim grandChildNode3 As New TreeNode("孫ノード3") '親ノードをTreeViewに追加 TreeView1.Nodes.Add(rootNode) '子ノードを親ノードに追加 rootNode.Nodes.Add(childNode1) rootNode.Nodes.Add(childNode2) '孫ノードを子ノードに追加 childNode2.Nodes.Add(grandChildNode3) childNode1.Nodes.Add(grandChildNode1) childNode1.Nodes.Add(grandChildNode2) '全ノードを展開する TreeView1.ExpandAll() End Sub ' [全ノード数の取得]ボタンクリック時の処理 Private Sub btnGetAllNodeCount_Click(sender As System.Object, e As System.EventArgs) Handles btnGetAllNodeCount.Click Dim iCnt As Integer '★★★TreeViewに表示されている全ノードを取得★★★ iCnt = TreeView1.GetNodeCount(True) MessageBox.Show("ノード数は" & iCnt.ToString() & "です") End Sub ' [選択ノードが持つ子ノード数を取得]ボタンクリック時の処理 Private Sub btnGetSelectNodeCount_Click(sender As System.Object, e As System.EventArgs) Handles btnGetSelectNodeCount.Click If TreeView1.SelectedNode IsNot Nothing Then Dim iCnt As Integer '★★★選択されたノードの子ノード数を取得★★★ iCnt = TreeView1.SelectedNode.GetNodeCount(True) MessageBox.Show("ノード数は" & iCnt.ToString() & "です") End If End Sub
C#の例
// フォームロード時の処理 private void Form9_Load(object sender, EventArgs e) { //親ノード TreeNode rootNode = new TreeNode("ルート"); //子ノード TreeNode childNode1 = new TreeNode("子ノード1"); TreeNode childNode2 = new TreeNode("子ノード2"); //孫ノード TreeNode grandChildNode1 = new TreeNode("孫ノード1"); TreeNode grandChildNode2 = new TreeNode("孫ノード2"); TreeNode grandChildNode3 = new TreeNode("孫ノード3"); // 親ノードをTreeViewに追加 treeView1.Nodes.Add(rootNode); // 子ノードを親ノードに追加 rootNode.Nodes.Add(childNode1); rootNode.Nodes.Add(childNode2); // 孫ノードを子ノードに追加 childNode2.Nodes.Add(grandChildNode3); childNode1.Nodes.Add(grandChildNode1); childNode1.Nodes.Add(grandChildNode2); // 全ノードを展開する treeView1.ExpandAll(); } // [全ノード数の取得]ボタンクリック時の処理 private void btnGetAllNodeCount_Click(object sender, EventArgs e) { int iCnt; // ★★★TreeViewに表示されている全ノードを取得★★★ iCnt = treeView1.GetNodeCount(true); MessageBox.Show("ノード数は" + iCnt.ToString() + "です"); } // [選択ノードが持つ子ノード数を取得]ボタンクリック時の処理 private void btnGetSelectNodeCount_Click(object sender, EventArgs e) { if (treeView1.SelectedNode != null) { int iCnt; // ★★★選択されたノードの子ノード数を取得★★★ iCnt = treeView1.SelectedNode.GetNodeCount(true); MessageBox.Show("ノード数は" + iCnt.ToString() + "です"); } }
Please follow and like us:
コメント