private void testProxyList() { int proxyNum = this.proxyDataModel.ProxyList.Count; int proxyTested = 0; this.Enabled = false; Task.Factory.StartNew(() => { Parallel.ForEach(this.proxyDataModel.ProxyList, new ParallelOptions() { MaxDegreeOfParallelism = 32 }, proxy => { proxy.PerformTest(); ++proxyTested; this.BeginInvoke((MethodInvoker) delegate { this.updateTestProgress(Convert.ToInt16(proxyTested * 100.0 / proxyNum)); }); }); this.BeginInvoke((MethodInvoker) delegate { this.testProgressForm.Close(); this.testProgressForm = null; this.Enabled = true; }); }); }
private void materialRaisedButton4_Click(object sender, EventArgs e) { IList <Proxy> proxyList = this.proxyDataModel.ProxyList; this.testProgressForm = new TestProgressForm(); this.testProgressForm.Show(); this.testProxyList(); }