private void btnCrawl_Click(object sender, EventArgs e) { folderBrowserDialog1.ShowDialog(); string startingPath = folderBrowserDialog1.SelectedPath; try { if (startingPath != String.Empty) { crawler.Crawl(startingPath); } textBoxMessages.Text = $"Found {crawler.GetFiles().Count} music files."; if (crawler.GetFiles() != null) { textBoxMessages.Text = "Tagging all the files. Hang on."; var resultFiles = new Dictionary <string, File>(); tagger = new Tagger(resultFiles); tagger.RunTagJob(crawler.GetFiles(), (list) => { SetGridDataDelegate d = new SetGridDataDelegate(SetGridData); this.Invoke(d, new object[] { list }); }); buttonSaveAsPlaylist.Visible = true; } } catch (Exception ex) { ErrorLogger.LogError(ex); } }