Я разрабатываю программу, которая использует listView и ImageList для отображения изображений из локальной папки. Проблема, с которой я столкнулся: Мой код имеет lstView_un.Items.Clear()
; чтобы очистить содержимое списка, прежде чем импортировать какое-либо изображение. Но это добавление предыдущего содержимого к новым или будущим загруженным изображениям. Даже я проверил, очистив список с помощью кнопки и не прояснив ничего.Очистка списков ListView и ImageList не работает?
В чем проблема? пожалуйста, помогите мне решить проблему!
весь код:
lstView_un.Items.Clear();
DateTime d1 = DateTime.Now;
DateTime d2 = dtp_unlist.Value;
TimeSpan t = d1 - d2;
double NrOfDays = t.TotalDays;
DateTime dt = DateTime.Now.AddDays(-NrOfDays);
lstView_un.Items.Clear();
string imagesPath = @"D:\Face Recognition System\UnknownFace";
string[] extensions = new[] { ".jpg", ".jpeg", ".png" };
var allfiles = Directory.GetFiles(imagesPath);
List<FileInfo> files = new List<FileInfo>();
foreach (string f in allfiles) files.Add(new FileInfo(f));
var filesSorted = files.Where(f => extensions.Contains(f.Extension.ToLower()))
.Where(f => f.CreationTime < dt)
.OrderByDescending(f => f.CreationTime);
this.imageList1.ImageSize = new Size(256, 250);
this.imageList1.ColorDepth = ColorDepth.Depth32Bit;
foreach (FileInfo fileInfo in filesSorted)
{
try
{
this.imageList1.Images.Add(fileInfo.Name,
Image.FromFile(fileInfo.FullName));
}
catch
{
Console.WriteLine(fileInfo.FullName + " is is not a valid image.");
}
}
this.lstView_un.View = View.LargeIcon;
lstView_un.LargeImageList = this.imageList1;
lstView_un.Items.Clear();
for (int j = 0; j < this.imageList1.Images.Count; j++)
{
ListViewItem item = new ListViewItem();
item.ImageIndex = j;
item.Text = imageList1.Images.Keys[j].ToString();
this.lstView_un.Items.Add(item);
}
Что добавляется, ListViewItems или изображения? Ваш код перезагружает LV после того, как он очищен, так что это кажется преднамеренным. Но ImageList используется для заполнения LV, и ImageList, по-видимому, добавляется каждый раз. – Plutonix
Кажется, что каждый раз, когда вы его очищаете, вы добавляете новые элементы. Итак, где проблема ?! –
Изображения, которые были загружены ранее, добавляются в списокView при загрузке изображений в списокView. Я не знаю больше о ImageList, я думаю, что он добавит, каким-либо образом, пожалуйста, помогите? – ensberiyu