選択されたノードのフルパスを取得するには 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); } }
Please follow and like us:
コメント