public void Populate(string startDir, string ignoreRules) { // Get rid of anything there before this.tree.Nodes.Clear(); // aaand start again! TreeTraverser treeTraverser = new TreeTraverser(startDir, ignoreRules); TreeNodeTri node; TreeTraverser.FolderEntry root = treeTraverser.ListFolders(0).First(); foreach (TreeTraverser.FolderEntry folder in root.GetFolders()) { node = new TreeNodeTri(folder, this.tree.ImageList, this.IgnoredFiles, this.IgnoredFolders, this.tree); node.Populate(); this.tree.Nodes.Add(node); } foreach (TreeTraverser.FileEntry file in root.GetFiles()) { this.tree.Nodes.Add(new TreeNodeTri(file, this.tree.ImageList, this.IgnoredFiles, this.IgnoredFolders, this.tree)); } }