private void SearchFilesQueue() { if (PathTextBox.Text.Length > 0 && DateTextBox.Text.Length > 0) { StatusLabel.Text = "Zähle Dateien... Das kann sehr lange dauern..."; StatusLabel.Update(); //get the list of files. This can be run for a long! time.. IEnumerable <string> files = EnumerateFiles(PathTextBox.Text); DateTime fileCreationDate; DateTime searchDate = DateTime.Parse(DateTextBox.Text); int counter = 0; int lastTick = 0; int amount = files.Count <string>(); foreach (var file in files) { counter++; //Console.WriteLine(file); //fileCreationDate = File.GetCreationTime(file); FileSystemInfo fsi = new FileInfo(file); fileCreationDate = fsi.CreationTime; // System.IO.DirectoryInfo.EnumerateFiles(file) ;//.Crea; if (fileCreationDate < searchDate) { if (FilesListBox.Items.Count == lastTick) { //Console.WriteLine(lastTick+" Dateien gefunden..."); StatusLabel.Text = counter + " / " + amount + " Dateien durchsucht und " + lastTick + " alte Dateien gefunden"; StatusLabel.Update(); FilesListBox.Update(); lastTick += 100; } FilesListBox.Items.Add(file); } } StatusLabel.Text = FilesListBox.Items.Count + " Dateien gefunden"; StatusLabel.Update(); MessageBox.Show("Es gibt " + FilesListBox.Items.Count + " Dateien, die den Suchparametern entsprechen!"); StatusLabel1.Text = ""; StatusLabel1.Update(); } }