private void FillListItems(ListView.ListViewItemCollection items, string path) { items.Clear(); try { DirectoryInfo root = new DirectoryInfo(path); foreach (FileInfo file in root.GetFiles()) { ShellFileInfo finfo = new ShellFileInfo(file.FullName); string[] strs = { file.Name, Convert.ToString(file.Length / 1024) + "KB", finfo.FileType() }; ListViewItem item = new ListViewItem(strs); string key = finfo.IconIndex().ToString(); if (!iconsList.Images.ContainsKey(key)) { iconsList.Images.Add(key, finfo.FileIcon()); } item.ImageKey = key; item.Tag = file.FullName; items.Add(item); } } catch { } }
// // Directories Tree & Files List // private void FillTreeNode(TreeNodeCollection nodes, string path) { if (nodes.Count == 1 && nodes[0].Text == "") { nodes.Clear(); } if (nodes.Count > 0) { return; } try { DirectoryInfo root = new DirectoryInfo(path); foreach (DirectoryInfo dir in root.GetDirectories()) { TreeNode item = nodes.Add(dir.FullName + '\\', dir.Name); ShellFileInfo finfo = new ShellFileInfo(dir.FullName); string key = finfo.IconIndex().ToString(); if (!iconsList.Images.ContainsKey(key)) { iconsList.Images.Add(key, finfo.FileIcon()); } item.Tag = dir.FullName; item.Text = finfo.FileName(); item.ImageKey = key; item.SelectedImageKey = key; item.Nodes.Add(""); } } catch { } }