private void button2_Click(object sender, EventArgs e) { foreach (string IDdir in Directory.GetDirectories(textBox1.Text)) { FileList.Clear(); sb1 = new StringBuilder(); //add loging sb1.Append("Directory: " + IDdir.ToString() + Environment.NewLine); //Console.WriteLine("Directory: " + IDdir.ToString()); foreach (string subdir in Directory.GetDirectories(IDdir)) { sb1.Append("Subdir: " + subdir.ToString() + Environment.NewLine); foreach (string csvfile in Directory.GetFiles(subdir, "*.csv")) { sb1.Append( "Adding File : " + csvfile.ToString() + "to filelist" + Environment.NewLine); FileList.Add(csvfile); } } } sb1.Append("Files in Filelist: " + FileList.Count.ToString() + Environment.NewLine); textBox2.Invoke(new UpdateTextCallback(this.AddText), sb1.ToString()); backwork.RunWorkerAsync(FileList); }