我需要在不同的文件夹中搜索很多图像。我有此代码,但它仅在我指定的文件夹中搜索。想象一下,我可以在菜单栏中放置一些文件夹名称,然后用户可以单击它来更快地进行搜索。我可以复制FormResultadosFotos3000,但我认为没有必要。 我不知道该怎么做。谁能帮我?谢谢。
namespace _myprojet
{
public partial class FormResultadosFotos3000 : Form
{
public FormResultadosFotos3000()
{
InitializeComponent();
}
private void FormFotos_Load(object sender, EventArgs e)
{
// se pretendermos pesquisar em várias pastas
List<string> diretorios = new List<string>()
{@"\\server01\mydir\mydir\3000"};
// se pretendermos pesquisar as várias extensões
List<string> extensoes = new List<string>()
{".jpg",".bmp",".png",".tiff",".gif"};
DataTable table = new DataTable();
table.Columns.Add("Nome e formato do ficheiro (duplo clique para visualizar a imagem)");
table.Columns.Add("Caminho ( pode ser copiado Ctrl+C )");
foreach (string diretorio in diretorios)
{
var ficheiros = Directory.EnumerateFiles(diretorio, "*", SearchOption.AllDirectories).
Where(r => extensoes.Contains(Path.GetExtension(r.ToLower())));
foreach (var ficheiro in ficheiros)
{
DataRow row = table.NewRow();
row[0] = Path.GetFileName(ficheiro);
row[1] = ficheiro;
table.Rows.Add(row);
}
}
dataGridView1.DataSource = table;
dataGridView1.Columns[1].Visible = true;
}
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
FormPictureBox myForm = new FormPictureBox();
string imageName = dataGridView1.CurrentRow.Cells[1].Value.ToString();
Image img;
img = Image.FromFile(imageName);
myForm.pictureBox1.Image = img;
myForm.ShowDialog();
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
}
}