您的位置:首页 > 编程语言 > C#

C#Winform读取文件夹下面的所有文件夹和文件显示到TreeView中

2015-03-26 16:15 453 查看
rt

private void Form1_Load(object sender, EventArgs e)

{

PaintTreeView(this.treeView1, "C:\\Users\\Hello\\Documents\\Visual Studio 2010\\WebSites\\WebSite1\\Templates");

}

#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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐