C#2010学习过程中有所收获,便总结下来,希望能给和我一样在学习遇到困难的同学提供参考。
本文主要介绍两个自定义函数,实现的功能是遍历路径下文件和文件夹并显示在TreeView控件中。
首先添加命名空间:
using System.Windows.Forms;
using System.IO;
函数代码如下:
#region 生成程序所在根目录的TreeView private void PaintTreeView(TreeView treeView, string fullPath) { try { treeView.Nodes.Clear(); //清空TreeView DirectoryInfo dirs = new DirectoryInfo(fullPath); //获得程序所在路径的目录对象 DirectoryInfo[] dir = dirs.GetDirectories();//获得目录下文件夹对象 FileInfo[] file = dirs.GetFiles();//获得目录下文件对象 int dircount = dir.Count();//获得文件夹对象数量 int filecount = file.Count();//获得文件对象数量 //循环文件夹 for (int i = 0; i < dircount; i++) { treeView.Nodes.Add(dir[i].Name); string pathNode = fullPath + "\\" + dir[i].Name; GetMultiNode(treeView.Nodes[i], pathNode); } //循环文件 for (int j = 0; j < filecount; j++) { treeView.Nodes.Add(file[j].Name); } } catch (Exception ex) { MessageBox.Show(ex.Message + "\r\n出错的位置为:Form1.PaintTreeView()"); } } #endregion #region 遍历TreeView根节点下文件和文件夹 private bool GetMultiNode(TreeNode treeNode, string path) { if (Directory.Exists(path) == false) { return false; } DirectoryInfo dirs = new DirectoryInfo(path); //获得程序所在路径的目录对象 DirectoryInfo[] dir = dirs.GetDirectories();//获得目录下文件夹对象 FileInfo[] file = dirs.GetFiles();//获得目录下文件对象 int dircount = dir.Count();//获得文件夹对象数量 int filecount = file.Count();//获得文件对象数量 int sumcount = dircount + filecount; if (sumcount == 0) { return false; } //循环文件夹 for (int j = 0; j < dircount; j++) { treeNode.Nodes.Add(dir[j].Name); string pathNodeB = path + "\\" + dir[j].Name; GetMultiNode(treeNode.Nodes[j], pathNodeB); } //循环文件 for (int j = 0; j < filecount; j++) { treeNode.Nodes.Add(file[j].Name); } return true; } #endregion
在Form1_Load中直接调用PaintTreeView函数,并赋参数就可以了。其中,此处fullPath为程序所在路径,可自行定义。
程序调用显示效果如下如所示:
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的*、好奇、充满创造力的想法被现实的框架所束缚,让创造力*成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5708999.html,如需转载请自行联系原作者