private void AddHitToList(FileInfo file, int index) { if (LstFileNames.InvokeRequired) { AddToListCallBack _delegate = AddHitToList; LstFileNames.Invoke(_delegate, new object[2] { file, index }); return; } foreach (ListViewItem item in LstFileNames.Items) { MatchResult hit = grep.RetrieveMatchResult(int.Parse(item.SubItems[Constants.COLUMN_INDEX_GREP_INDEX].Text)); if (hit.File.FullName.Equals(file.FullName, StringComparison.InvariantCultureIgnoreCase)) { return; } } var listItem = new ListViewItem(file.Name); listItem.Name = index.ToString(); listItem.ImageIndex = ListViewImageManager.GetImageIndex(file, ListViewImageList); listItem.SubItems.Add(file.DirectoryName); listItem.SubItems.Add(file.Extension); listItem.SubItems.Add(file.LastWriteTime.ToString()); ListViewItem.ListViewSubItem subItem = new ListViewItem.ListViewSubItem(listItem, API.StrFormatByteSize(file.Length)); subItem.Tag = file.Length; listItem.SubItems.Add(subItem); listItem.SubItems.Add("0"); listItem.SubItems.Add(index.ToString()); LstFileNames.Items.Add(listItem); listItem = null; }
/// <summary> /// Add a file hit to the listview (Thread safe). /// </summary> /// <param name="file">File to add</param> /// <param name="index">Position in GrepCollection</param> /// <history> /// [Curtis_Beard] 10/17/2005 Created /// [Curtis_Beard] 12/02/2005 CHG: Add the count column /// [Curtis_Beard] 07/07/2006 CHG: Make thread safe /// [Curtis_Beard] 09/14/2006 CHG: Update to use date's ToString method /// </history> private void AddHitToList(System.IO.FileInfo file, int index) { if (lstFileNames.InvokeRequired) { AddToListCallBack _delegate = new AddToListCallBack(AddHitToList); lstFileNames.Invoke(_delegate, new object[2] {file, index}); return; } ListViewItem _listItem; // Create the list item _listItem = new ListViewItem(file.Name); _listItem.SubItems.Add(file.DirectoryName); _listItem.SubItems.Add(file.LastWriteTime.ToString()); _listItem.SubItems.Add("0"); // must be last _listItem.SubItems.Add(index.ToString()); // Add list item to listview lstFileNames.Items.Add(_listItem); // clear it out _listItem = null; }