C#遍历treeview节点,以及对应名字文件的内容获取

图片说明

图片说明

C#treeview建立节点如上图所示,每建立一个节点,会在对应某个目录下生成相对应节点名字的txt文档,如图所示,

现在按照treeview顺序遍历treeview的节点,test01,test03,test02,test05,test04

遍历到test01,获取test01文件内容 tmp

遍历到test03,获取test03文件内容

遍历到test02,获取test02文件内容

遍历到test05,获取test05文件内容

遍历到test04,获取test04文件内容,

最后按照test01,test03,test02,test05,test04的顺序,把获取的所有内容叠加在一起tmp_all+=tmp;

最后遍历节点 匹配对应节点名字的文件 这块代码怎么写??

图片说明

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Q692791
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog dlg = new FolderBrowserDialog();
            if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                TreeNode tn = new TreeNode(Path.GetDirectoryName(dlg.SelectedPath));
                tn.Name = Path.GetDirectoryName(dlg.SelectedPath);
                treeView1.Nodes.Add(tn);
                LoadPath(dlg.SelectedPath,tn);
            }
        }

        private void LoadPath(string p, TreeNode tn)
        {
            DirectoryInfo di = new DirectoryInfo(p);
            foreach (var item in di.GetDirectories())
            {
                TreeNode tn1 = default(TreeNode);
                try
                {
                    tn1 = new TreeNode(Path.GetFileName(item.FullName));
                    tn.Nodes.Add(tn1);
                    LoadPath(item.FullName, tn1);
                }
                catch
                {
                    if (tn1 != null)
                        tn.Nodes.Remove(tn1);
                }
                Application.DoEvents();
            }
            foreach (var txt in di.GetFiles("*.txt", SearchOption.TopDirectoryOnly))
            {
                TreeNode tn1 = new TreeNode(Path.GetFileName(txt.FullName));
                tn1.Tag = txt.FullName;
                tn.Nodes.Add(tn1);
            }
        }

        private void LoadText(StringBuilder sb, TreeNode treeNode)
        {
            foreach (TreeNode item in treeNode.Nodes)
            {
                if (item.Tag == null)
                {
                    LoadText(sb, item);
                }
                else
                {
                    try
                    {
                        if (item.Checked)
                        {
                            string s = File.ReadAllText((string)item.Tag);
                            sb.Append(s);
                            sb.Append("\r\n");
                        }
                    }
                    catch
                    {

                    }
                }
            }
        }

        private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
        {
            if (e.Node.Checked)
            {
                foreach (TreeNode item in e.Node.Nodes) item.Checked = true;
            }
            StringBuilder sb = new StringBuilder();
            LoadText(sb, treeView1.Nodes[0]);
            textBox1.Text = sb.ToString();
        }

    }
}

图片说明

https://download.csdn.net/download/caozhy/10494155