選択されたノードのフルパスを取得するには 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:


コメント