繁体   English   中英

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

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

我有这个代码

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);
}

它在通过写入时间添加到 ListBox 之前对文件进行排序,但是在将其添加到 ListBox 之前,它无法删除不是图像的文件。 我已经尝试了许多我用谷歌搜索过的解决方案,但对我没有任何帮助。

好的,我找到并使用了这个:

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

所以代码看起来像:

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);
}

美丽的

暂无
暂无

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

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