public void LazyLoading(TreeView treeView, string path) { DirectoryInfo directory = new DirectoryInfo(path); DirectoryInfo[] diArray = directory.GetDirectories(); Nodes tn = new Nodes(); foreach (DirectoryInfo direct in diArray) { treeView.Nodes.Add(tn.CreateTreeItem(direct)); } FileInfo[] fileInDir; try { fileInDir = directory.GetFiles(); } catch { return; } foreach (FileInfo file in fileInDir) { TreeNode item = new TreeNode(file.Name); treeView.Nodes.Add(item); } }
public void AfterExpand(TreeViewEventArgs e) { TreeNode item = e.Node as TreeNode; Nodes n = new Nodes(); if ((item.Nodes.Count == 1) && (item.FirstNode.Text == "Loading...")) { item.Nodes.Clear(); DirectoryInfo expandedDir = null; if (item.Tag is DriveInfo) expandedDir = (item.Tag as DriveInfo).RootDirectory; if (item.Tag is DirectoryInfo) expandedDir = (item.Tag as DirectoryInfo); try { foreach (DirectoryInfo subDir in expandedDir.GetDirectories()) item.Nodes.Add(n.CreateTreeItem(subDir)); foreach (FileInfo file in expandedDir.GetFiles()) item.Nodes.Add(file.Name); } catch { } } }