private IAsyncResult AddFile(FileProcessEventArgs e) { if (InvokeRequired) return BeginInvoke(new AddFileDelegate(AddFile), new object[] { e }); else { if (e.StatusInfo != FileProcessEventArgs.Status.Processing && e.StatusInfo != FileProcessEventArgs.Status.Cleaned && e.FileInfo.FileType != FileType.Folder) { string imagekey = System.IO.Path.GetExtension(e.FileInfo.FileName).ToLower(); int index = imgIcons.Images.IndexOfKey(imagekey); if (index == -1) { imgIcons.Images.Add(imagekey, IconLoader.GetSystemIcon(e.FileInfo.FileName)); index = imgIcons.Images.IndexOfKey(imagekey); } ListViewItem item = new ListViewItem(); item.ImageIndex = index; item.Text = e.FileInfo.DisplayName; item.Group = lstReport.Groups[FileProcessEventArgs.StatusString(e.StatusInfo)]; lstReport.Items.Add(item); } return null; } }
static void OnFileProcessed(object sender, FileProcessEventArgs e) { if (e.StatusInfo == FileProcessEventArgs.Status.Processing) Console.WriteLine(FileProcessEventArgs.StatusString(e.StatusInfo) + ": " + e.FileInfo.DisplayName); if (summary.ContainsKey(e.StatusInfo)) { summary[e.StatusInfo]++; detail.Add(e); } }
private void OnFileProcessed(object sender, FileProcessEventArgs e) { AddFile(e); }