简体   繁体   English

图像查看器从列表框中删除没有图像的项目

[英]Image Viewer removing items from listbox that not image

I have this code我有这个代码

var dirInfo = new DirectoryInfo(currentDir);
DirectoryInfo di = dirInfo;
FileInfo[] fia = di.GetFiles();
FileInfo t = null;
for (int p = 0; p <= fia.Length - 2; p++)
{
  for (int i = 0; i <= fia.Length - 2; i++)
  {
    if (fia[i].LastWriteTime < fia[i + 1].LastWriteTime)
    {
      t = fia[i + 1];
      fia[i + 1] = fia[i];
      fia[i] = t;
    }
  }
}
foreach (FileInfo fi in fia)
{
  listBoxImages.Items.Add(fi.Name);
}

It's sorting files before adding to ListBox by writing time, but it's wont able to remove files that not an images, before adding it to ListBox.它在通过写入时间添加到 ListBox 之前对文件进行排序,但是在将其添加到 ListBox 之前,它无法删除不是图像的文件。 I've tried many solutions that I've googled and nothing worked for me.我已经尝试了许多我用谷歌搜索过的解决方案,但对我没有任何帮助。

Okay, i've found and used this:好的,我找到并使用了这个:

 FileInfo[] fia = di.GetFiles("*.bmp")
 .Union(di.GetFiles("*.jpg"))
 .Union(di.GetFiles("*.png"))
 .Union(di.GetFiles("*.jpeg"))
 .Union(di.GetFiles("*.tiff"))
 .ToArray();

so the code looks like:所以代码看起来像:

var dirInfo = new DirectoryInfo(currentDir);
DirectoryInfo di = dirInfo;
FileInfo[] fia = di.GetFiles("*.bmp")
 .Union(di.GetFiles("*.jpg"))
 .Union(di.GetFiles("*.png"))
 .Union(di.GetFiles("*.jpeg"))
 .Union(di.GetFiles("*.tiff"))
 .ToArray();
FileInfo t = null;
for (int p = 0; p <= fia.Length - 2; p++)
{
  for (int i = 0; i <= fia.Length - 2; i++)
  {
    if (fia[i].LastWriteTime < fia[i + 1].LastWriteTime)
    {
      t = fia[i + 1];
      fia[i + 1] = fia[i];
      fia[i] = t;
    }
  }
}
foreach (FileInfo fi in fia)
{
  listBoxImages.Items.Add(fi.Name);
}

beautiful美丽的

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM