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;
}
}
}
Dies funktioniert gut für das Verzeichnis Israel.Wie kann ich zuerst nach einer bestimmten Verzeichnis-GIF-Datei suchen und dann mit dem Rest fortfahren?
Das Timer-Intervall wird auf 100 gesetzt
Sobald es eine GIF-Datei im Verzeichnis gefunden Israel es zu pictureBox1
ist das Laden und die CheckBox
in listView1
zu diesem Artikel zu überprüfen.
Aber jetzt möchte ich es ändern und dafür sorgen, dass es alle Unterverzeichnisse durchsuchen wird, aber zuerst nur für Israel. Sobald es Israel gefunden hat und das gif auf die pictureBox1
geladen und überprüft CheckBox
dann weiter und suchen Sie alle anderen Unterverzeichnisse und wenn es gif-Datei in einem Unterverzeichnis sind, aktivieren Sie das Kontrollkästchen dafür in der listView1
. Die Artikel in der listView1
sind nach den Ländern benannt.
Nun änderte ich den Code, aber es noch nicht tut, was ich will:
Statt nur im Verzeichnis Israel es nun alle Unterverzeichnisse unter Ländern der Suche zu suchen.
Aber nicht sicher, wie man von hier weitergeht.
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;
}
}
}
Warum brauchen Sie überhaupt einen Timer? Es scheint sich um eine Suche in einem Hintergrund-Thread zu handeln, der die Benutzeroberfläche mit 'Invoke' aktualisieren muss, wenn ein Ergebnis gefunden wird. –
Wenn Sie nicht über eine große Anzahl von Dateien in Ihrem Verzeichnis verfügen: Durchsuchen Sie alle Gif-Dateinamen aus dem Stammverzeichnis und den Unterverzeichnissen, sortieren Sie die Liste der Dateinamen nach Ihren Wünschen und starten Sie den Timer, um das nächste Element der Liste anzuzeigen und zu erhöhen der Index des nächsten Eintrags ist anfangs auf 0 gesetzt). – Graffito
Wenn Sie mehr als eine * .gif-Datei gefunden haben, lädt Ihre Schleife nur die letzte. Ist das beabsichtigt? –