方法一:
C#的IO自帶了一個方法
DirectoryInfo dir = new DirectoryInfo("文件夾名稱");
dir.getFiles();//這個方法返回值就是Fileinfo類型的數組
再將獲取的圖片一一存入List數組中,需要從list中找即可
public String exePath = Application.StartupPath;
//絕對路徑
DirectoryInfo dir = new DirectoryInfo("c:\\test");
//相對路徑,和程序exe同目錄下
//DirectoryInfo dir = new DirectoryInfo(@"test"); FileInfo[] fileInfo = dir.GetFiles(); List<string> fileNames = new List<string>(); foreach (FileInfo item in fileInfo) { fileNames.Add(item.Name); }
//圖片展示
for (int i = 0; i < fileNames.Count; i++)
{
string fileName = fileNames[i];
this.panelAutographPic.Controls.Add(new PictureBox
{
BackColor = System.Drawing.Color.Transparent,
BackgroundImageLayout = ImageLayout.Stretch,
Width = 300,
Height = 200,
BackgroundImage = Image.FromFile(exePath + "../test/" + fileName)
});
}
方法二:
將獲取的圖片一一存入ListBox中,需要從listBox中找即可
ListBox listBox1 = new ListBox(); private void Get_Folder(string FilePath) { if (Directory.Exists(FilePath)) { foreach (string d in Directory.GetFileSystemEntries(FilePath)) { Image img = Image.FromFile(d); if (File.Exists(d) && img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Jpeg) || img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Gif) || img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Bmp) || img.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Png)) { listBox1.Items.Add(d.ToString()); } } } else { MessageBox.Show("文件夾不存在!"); }
}
//調用
Get_Folder(@"指定文件夾名");