|
■No74713 (Azulean さん) に返信 > 何も考えずに作るとこんな感じですかね。 > 「再帰」という言葉を調べてみてください。 > > private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) > { > List<TreeNode> childNodes = GetChildNodes(e.Node); > Text = string.Join(",", childNodes); > } > > private List<TreeNode> GetChildNodes(TreeNode targetNode) > { > List<TreeNode> list = new List<TreeNode>(); > foreach (TreeNode node in targetNode.Nodes) > { > list.Add(node); > list.AddRange(GetChildNodes(node)); > } > return list; > } > > // 文字列だけで良いなら TreeNode 自身を追加するのではなく、string 型の Text プロパティを追加する感じ。
Azuleanさんありがとうございます。
再帰勉強になりました ありがとうございます。
下記のコードで思うような結果が出せました。
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { List<String> childNodes = GetChildNodes(e.Node); for (int i = 0; i <= childNodes.Count - 1; i++) { MessageBox.Show(childNodes[i]); } }
private List<TreeNode> GetChildNodes(TreeNode targetNode) { List<String> list = new List<String>(); foreach (TreeNode node in targetNode.Nodes) { list.Add(node.Text); list.AddRange(GetChildNodes(node)); } return list; }
|