private void timer1_Tick(object sender, EventArgs e)
{
DirectoryInfo dir1 = new DirectoryInfo(@"C:\Users\Chocolade\AppData\Local\SatellitesImagesDownloads\SatellitesImagesDownloads\Countries\Israel\");
fi = dir1.GetFiles("*.gif");
foreach (FileInfo finfo in fi)
{
if (fi.Length > 0 && finfo.Length > 0)
{
timer1.Enabled = false;
pictureBox1.Load(finfo.FullName);
listView1.Items[0].Checked = true;
}
}
}
Это прекрасно работает для каталога Израиль.Как я могу найти сначала для определенного файла gif каталога, а затем продолжить его?
Интервал таймера устанавливается 100.
После того, как он нашел файл GIF в папке Израиль это загружая его в pictureBox1
и проверяя CheckBox
в listView1
для этого элемента.
Но теперь я хочу изменить его и заставить его искать все подкаталоги, но сначала только для Израиля. Как только он нашел Израиль и загрузил gif в pictureBox1
и проверил CheckBox
, продолжайте поиск и найдите все остальные подкаталоги, и когда в подкаталоге есть файл gif, установите флажок в поле listView1
.
Элементы в listView1
по названию стран.
Теперь я изменил код, но это еще не делает то, что я хочу:
Вместо поиска только в каталоге Израиль он теперь ищет все подкаталоги в разделе Страны.
Но не знаете, как продолжить работу здесь.
private void timer1_Tick(object sender, EventArgs e)
{
DirectoryInfo dir1 = new DirectoryInfo(@"C:\Users\Chocolade\AppData\Local\SatellitesImagesDownloads\SatellitesImagesDownloads\Countries\");
fi = dir1.GetFiles("*.gif", SearchOption.AllDirectories);
foreach (FileInfo finfo in fi)
{
if (fi.Length > 0 && finfo.Length > 0)
{
timer1.Enabled = false;
pictureBox1.Load(finfo.FullName);
listView1.Items[0].Checked = true;
}
}
}
Зачем вам нужен таймер? Кажется, это поиск в фоновом потоке, который необходимо обновить пользовательский интерфейс, используя 'Invoke' при поиске результата. –
Если у вас нет большого количества файлов в вашем каталоге: найдите все имена файлов gif из корневого каталога и подкаталогов, отсортируйте список имен файлов в удобное для вас время и затем запустите свой таймер, чтобы отобразить следующий элемент списка и приращение индекс следующего элемента изначально установлен в 0). – Graffito
Если вы нашли несколько файлов * .gif, ваш цикл будет загружать только последние. Это предназначено? –