private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { Conversion = e.Argument as ConversionControl; int current = 0; BackgroundWorker worker = sender as BackgroundWorker; string errors = ""; foreach (ConversionObject co in convObjets) { try { List <Label> tempList = tabControl1.TabPages[0].Controls.OfType <Label>().ToList(); // MessageBox.Show(tempList.Count.ToString()); Label tempLabel = null; foreach (Label c in tempList) { if (c.Name == "label" + co.method) { c.ForeColor = Color.Red; tempLabel = c; break; } } Type type = typeof(ConversionControl); MethodInfo info = type.GetMethod("Split" + co.method); object[] parametersArray = new object[] { lawyerIDs, co.runMethod, connectionString }; // MessageBox.Show(lawyerList.Count.ToString() + " : " + co.runMethod.ToString() + " : " + co.method); try { var output = info.Invoke(Conversion, parametersArray); errors = errors + "\r\n" + output.ToString(); } catch (Exception ex) { MessageBox.Show("Message: " + ex.Message + " : Error: " + errors); } current++; backgroundWorker1.ReportProgress(current); tempLabel.ForeColor = Color.Green; } catch (Exception ex4) { MessageBox.Show("Error: " + ex4.Message); } } richTextBox1.Text = errors; MessageBox.Show("Done! Check the Error Log tab for details."); }
private void doSetUp() { foreach (string a in lawyerList) { lawyerIDs = lawyerIDs + a + ","; } lawyerIDs = lawyerIDs.TrimEnd(','); convObjets = getCObjects().ToList(); progressBarTotal.Value = 0; progressBarTotal.Maximum = convObjets.Count; ConversionControl demoConverter = new ConversionControl(); backgroundWorker1.RunWorkerAsync(demoConverter); }