[Tips][TreeView] 選択されたノードのフルパスを取得する

[ad code=2 align=left]
選択されたノードのフルパスを取得するには SelectedNodeプロパティFullPathプロパティを参照します。

また、PathSeparatorプロパティに区切り文字を設定することができます。

下記は選択されたノードのフルパスを取得する例です。

区切り文字として”>”を指定しています。

 

 

VBの例

' フォームロード時の処理
Private Sub Form10_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 btnGetFullPath_Click(sender As System.Object, e As System.EventArgs) Handles btnGetFullPath.Click
    '選択されているノードがあるか?
    If TreeView1.SelectedNode IsNot Nothing Then
        Dim strFullPath As String

        '区切り文字を">"にする
        TreeView1.PathSeparator = ">"

        '★★★選択されたノードのフルパスを取得する★★★
        strFullPath = TreeView1.SelectedNode.FullPath

        MessageBox.Show(strFullPath)
    End If
End Sub

C#の例

// フォームロード時の処理
private void Form10_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 btnGetFullPath_Click(object sender, EventArgs e)
{
    // 選択されているノードがあるか?
    if (treeView1.SelectedNode != null)
    {
        string strFullPath;

        // パスの区切り文字を">"にする
        treeView1.PathSeparator = ">";

        // ★★★選択されたノードのフルパスを取得する★★★
        strFullPath = treeView1.SelectedNode.FullPath;

        MessageBox.Show(strFullPath);
    }
}

コメントを残す

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