如何获取文件夹的缩略图? C#
How to get the thumbnail of a folder? C#
基本上,我有一个音乐文件夹。在音乐文件夹内,它有专辑文件夹。每个相册文件夹里面都有自己的thumbnail.png。
我可以弹出文件夹浏览器,我可以 select 音乐文件夹。当我 select 音乐文件夹时,专辑文件夹显示在列表视图中,但我无法将缩略图图像添加为专辑文件夹的图标。
这是我正在使用的代码。
private void button1_Click(object sender, EventArgs e)
{
folderBrowserDialog1.Description = "Choose the Music folder.";
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
listView1.Items.Clear();
string[] dirs = Directory.GetDirectories(folderBrowserDialog1.SelectedPath);
foreach(string file in dirs)
{
listView1.Items.Add(Path.GetFileNameWithoutExtension(file));
}
}
}
我尝试使用循环在每个相册文件夹中搜索 "thumbnail.png" 文件,然后对其进行索引并将其添加到 imagecollection 或其他东西中。但我没有尝试任何工作,因此非常感谢任何有关这些工作方式的帮助或链接。
我在早上 5 点发布这个。我整天整夜都在睡觉,但我仍然不知道该怎么做。这可能很难 understand/read 所以我会在醒来后尝试编辑它,提前抱歉。
private void button1_Click(object sender, EventArgs e)
{
var imageList = new ImageList();
if (folderBrowserDialog1.ShowDialog()==DialogResult.OK)
{
var directories = Directory.GetDirectories(folderBrowserDialog1.SelectedPath);
foreach (string item in directories)
{
FileInfo file = new FileInfo(item);
imageList.Images.Add("Key" + file.Name, Image.FromFile(file.ToString() + @"\thumbnail.png"));
listView1.LargeImageList = imageList;
var listViewItem = listView1.Items.Add(file.Name);
listViewItem.ImageKey = "Key" + file.Name;
}
}
}
基本上,我有一个音乐文件夹。在音乐文件夹内,它有专辑文件夹。每个相册文件夹里面都有自己的thumbnail.png。
我可以弹出文件夹浏览器,我可以 select 音乐文件夹。当我 select 音乐文件夹时,专辑文件夹显示在列表视图中,但我无法将缩略图图像添加为专辑文件夹的图标。
这是我正在使用的代码。
private void button1_Click(object sender, EventArgs e)
{
folderBrowserDialog1.Description = "Choose the Music folder.";
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
listView1.Items.Clear();
string[] dirs = Directory.GetDirectories(folderBrowserDialog1.SelectedPath);
foreach(string file in dirs)
{
listView1.Items.Add(Path.GetFileNameWithoutExtension(file));
}
}
}
我尝试使用循环在每个相册文件夹中搜索 "thumbnail.png" 文件,然后对其进行索引并将其添加到 imagecollection 或其他东西中。但我没有尝试任何工作,因此非常感谢任何有关这些工作方式的帮助或链接。
我在早上 5 点发布这个。我整天整夜都在睡觉,但我仍然不知道该怎么做。这可能很难 understand/read 所以我会在醒来后尝试编辑它,提前抱歉。
private void button1_Click(object sender, EventArgs e)
{
var imageList = new ImageList();
if (folderBrowserDialog1.ShowDialog()==DialogResult.OK)
{
var directories = Directory.GetDirectories(folderBrowserDialog1.SelectedPath);
foreach (string item in directories)
{
FileInfo file = new FileInfo(item);
imageList.Images.Add("Key" + file.Name, Image.FromFile(file.ToString() + @"\thumbnail.png"));
listView1.LargeImageList = imageList;
var listViewItem = listView1.Items.Add(file.Name);
listViewItem.ImageKey = "Key" + file.Name;
}
}
}