遍历文件夹绑定文件到TreeView控件

  这里要实行的是一个小说阅读器的效果,主要是体验递归遍历文件,和TreeView控件的数据绑定效果。

        //递归遍历文件的方法

        static void getAllFiles(string strPath, TreeNode tn) 
        {
            //获取目录下的文件和文件夹
            string [] files=Directory.GetFiles(strPath,"*.txt");
            string [] dir=Directory.GetDirectories(strPath);

            //遍历文件,添加到节点
            for (int i = 0; i < files.Length; i++) 
            {
                TreeNode tn2= tn.Nodes.Add(Path.GetFileNameWithoutExtension(files[i]));
                tn2.Tag = files[i];
            }
            //遍历文件夹,递归
            for (int i = 0; i < dir.Length; i++) 
            {
                TreeNode tn3 = tn.Nodes.Add(Path.GetFileName(dir[i]));
                getAllFiles(dir[i],tn3);
            }
        }

重新加载的时候,注意要清楚之前节点上面的数据。

            treeView1.Nodes.Clear();//清除节点

  TreeNode tn = treeView1.Nodes.Add(Path.GetFileName(strPath));
getAllFiles(strPath, tn);

 添加TreeView控件的事件,实现文本读取

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            if (e.Node.Tag != null)
            {
                string path = e.Node.Tag.ToString();

                textBox1.Text = File.ReadAllText(path, Encoding.Default);
            }
        }

 

 

 

posted @ 2012-07-12 22:19  hello*boy  阅读(1085)  评论(0编辑  收藏  举报