private async void btnStart_Click(object sender, EventArgs e) { pbMain.Value = 0; var parser = new Parser(txtThread.Text); if (!parser.IsValid()) return; ToggleGroupBoxes(false); TitleBuilder.Build(this, "Initializing"); var threadData = await parser.BuildThreadData(); var scraper = new Scraper(threadData, UpdateProgress); var files = await scraper.CollectFileURLs(cbWEBM.Checked, cbDuplicates.Checked); if (files == null) return; pbMain.Maximum = files.Count; await Task.WhenAll(files.Select(p => scraper.DownloadFileAsync(this, p, rbUID.Checked, txtPath.Text))); ToggleGroupBoxes(true); TitleBuilder.Build(this, "Completed", false); }