It's very useful. private void frmInternationalizer_Load(object sender, EventArgs e) { String dirRoot = "E://java//webquote//src"; ShowDirectories(dirRoot, this.tVFileView.Nodes); } private void ShowDirectories(string dirPath, TreeNodeCollection nodes) { String dirRoot = "E://java//webquote//src"; String temp; String nodeName = ""; TreeNode newNode = new TreeNode(); if(dirPath==dirRoot) { nodeName = "WebQuote"; } else { temp = dirPath.Replace("/", "//"); nodeName = temp.Substring(temp.LastIndexOf("//")+1); } newNode.Text = nodeName; nodes.Add(newNode); string[] childDirs = Directory.GetDirectories(dirPath); if (childDirs.Length > 0) foreach (string childDir in childDirs) ShowDirectories(childDir, newNode.Nodes); string[] files = Directory.GetFiles(dirPath); if (files.Length > 0) foreach (string file in files) { TreeNode fileNode = new TreeNode(); temp = file.Replace("/", "//"); nodeName=temp.Substring(temp.LastIndexOf("//") + 1); fileNode.Text = nodeName; newNode.Nodes.Add(fileNode); } }