public void QuantifyNewReplicate() { if (currentReplicate >= ReplicateList.Count) { //this.Text = "Done!"; this.Text = currentReplicate + "\\" + ReplicateList.Count + " Raw Files Quantified..."; toolStripStatusLabel1.Text = "Normalizing Extracted Data..."; DataNormalizationMethods.ProcessData(conn); foreach (Control control in Controls) { control.Enabled = true; } UpdateText("Done!"); toolStripStatusLabel1.Text = "Done!"; toolStripProgressBar1.Value = 200; return; } else { var currRepObject = ReplicateList[currentReplicate]; currentQM = new QuantMethods(currRepObject, master, conn); currentQM.Progress += quantify_Progress; currentQM.Finished += quantify_Finished; rawFileListBox.ClearSelected(); rawFileListBox.SelectedItem = currRepObject.name; toolStripStatusLabel1.Text = "Quantifying " + currRepObject.name + "..."; CurrentThread = new Thread(() => currentQM.Quantify()); CurrentThread.Start(); } }
public void quantify_Finished(object sender, EventArgs e) { if (InvokeRequired) { Invoke(new Action <object, EventArgs>(quantify_Finished), sender, e); return; } toolStripProgressBar1.Value = (int)0; currentQM.ReplicateDBConnection.Close(); currentQM.ReplicateDBConnection.Dispose(); currentQM.Finished -= quantify_Finished; currentQM.Progress -= quantify_Progress; currentQM = null; GC.Collect(); currentReplicate++; QuantifyNewReplicate(); this.Text = currentReplicate + "\\" + ReplicateList.Count + " Raw Files Quantified..."; }