private async void btnCrawl_Click(object sender, EventArgs e) { stopWatch = new Stopwatch(); stopWatch.Start(); time.Start(); webStructure.queuedLinks.CollectionChanged += QueuedLinks_CollectionChanged; webStructure.WebStructureObject.CollectionChanged += WebStructureObject_CollectionChanged; try { if (checkSepThreads.Checked) { CheckForIllegalCrossThreadCalls = false; new Thread(() => { webStructure.CrawlAsync().Wait(); }).Start(); } else { await webStructure.CrawlAsync(); } btnCrawl.Enabled = false; } catch (Exception ex) { LogSync(ex.Message, "ERROR"); } }