[Tips][TreeView] ノードを展開する

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

選択されているノードを展開するにはSelectedNodeプロパティExpandメソッドを実行します。選択されたノードいかにあるすべての子を展開する場合はSelectedNodeプロパティのExpandAllメソッドを使用します。

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

下記はノードを展開する例です。

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

VBの例

' フォームロード時の処理
Private Sub Form5_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 btnExpandSelectedNode_Click(sender As System.Object, e As System.EventArgs) Handles btnExpandSelectedNode.Click
    '選択されたノードがあるか確認する
    If TreeView1.SelectedNode IsNot Nothing Then
        '★★★選択されたノードを展開する★★★
        TreeView1.SelectedNode.Expand()

        '下記を使用すれば選択されたノード以下のすべての子を展開できる
        'TreeView1.SelectedNode.ExpandAll()
    End If
End Sub

' [全ノードを展開]ボタンクリック時の処理
Private Sub btnExpandAllNode_Click(sender As System.Object, e As System.EventArgs) Handles btnAllNodeExpand.Click
    '★★★すべてのノードを展開する★★★
    TreeView1.ExpandAll()
End Sub

C#の例

// フォームロード時の処理
private void Form5_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 btnExpandSelectedNode_Click(object sender, EventArgs e)
{
    // 選択されたノードがあるか確認する
    if ( treeView1.SelectedNode != null )
        treeView1.SelectedNode.Expand();

    // 下記を使用すれば選択されたノード以下のすべての子を展開できる
    //TreeView1.SelectedNode.ExpandAll()        
}

// [全ノードを展開]ボタンクリック時の処理
private void btnExpandAllNode_Click(object sender, EventArgs e)
{
    // ★★★すべてのノードを展開する★★★
    treeView1.ExpandAll();
}

コメントを残す

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