[Tips][TreeView] ノードを折りたたむ

TreeViewに表示されているノードはコードから折りたたむことができます。

選択されているノードを折りたたむにはSelectedNodeプロパティCollapseメソッドを実行します。

またTreeViewに表示されているすべてのノードを展開するには、TreeViewクラスCollapseAllメソッドを使用します。

下記はノードを折りたたむ例です。

[選択ノードを折りたたむ]ボタンがクリックされた場合は現在選択されているノードを折りたたみ、[全ノードを折りたたむ]ボタンがクリックされた場合はTreeViewコントロールに表示されている全ノードを折りたたみます。

VBの例

' フォームロード時の処理
Private Sub Form6_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")
    '孫ノード
    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)
End Sub

' [選択ノードを折りたたむ]ボタンクリック時の処理
Private Sub btnCollapseSelectedNode_Click(sender As System.Object, e As System.EventArgs) Handles btnCollapseSelectedNode.Click
    '選択されたノードがあるか確認する
    If TreeView1.SelectedNode IsNot Nothing Then
        '★★★選択されたノードを折りたたむ★★★
        TreeView1.SelectedNode.Collapse()
    End If
End Sub

' [全ノードを折りたたむ]ボタンクリック時の処理
Private Sub btnCollapseAllNode_Click(sender As System.Object, e As System.EventArgs) Handles btnCollapseAllNode.Click
    '★★★全ノードを折りたたむ★★★
    TreeView1.CollapseAll()
End Sub

C#の例

// フォームロード時の処理
private void Form6_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);
}

// [選択ノードを折りたたむ]ボタンクリック時の処理
private void btnCollapseSelectedNode_Click(object sender, EventArgs e)
{
    if (treeView1.SelectedNode != null)
        //★★★選択されたノードを折りたたむ★★★
        treeView1.SelectedNode.Collapse();
}

// [全ノードを折りたたむ]ボタンクリック時の処理
private void btnCollapseAllNode_Click(object sender, EventArgs e)
{
    // ★★★全ノードを折りたたむ★★★
    treeView1.CollapseAll();
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です