private void CheckButton_Click(object sender, System.EventArgs e) { Identifiable [] checkedExperiments, allItems; RerunSettings pickSettings; DataTable rerunItemTable, allItemTable; RerunListForm listForm; Identifiable [] selectedItems; try { //Store selected experiments. this.Cursor = Cursors.WaitCursor; DisplayStatus("Storing selected experiments..."); checkedExperiments = new Identifiable[ExperimentList.TheCheckedListBox.CheckedItems.Count]; for (int i = 0; i < ExperimentList.TheCheckedListBox.CheckedItems.Count; i++) { checkedExperiments[i] = (Identifiable)ExperimentList.TheCheckedListBox.CheckedItems[i]; } if (checkedExperiments.GetLength(0) < 1) { this.Cursor = Cursors.Default; MessageManager.ShowInformation("No experiments selected.", this); return; } DisplayStatus("Clearing previous rerun experiments..."); MyDataServer.ClearRerunExperiments(); DisplayStatus("Adding new rerun experiments..."); for (int i = 0; i < checkedExperiments.GetLength(0); i++) { MyDataServer.AddRerunExperiment(checkedExperiments[i].ID); } //Read rerun settings. pickSettings = new RerunSettings(); pickSettings.MissingGenotype = MissingGenotypesCheckBox.Checked; pickSettings.MissingGenotypePercent = 100 - (int)MissingGenotypePercentage.Value; pickSettings.LowAlleleFrq = AlleleFrqCheckBox.Checked; pickSettings.LowAlleleFrqPercent = (int)AlleleFrqPercentage.Value; pickSettings.DuplicateErrors = DuplicateErrorCheckBox.Checked; DisplayStatus("Processing rerun items..."); //Get items to check. rerunItemTable = MyDataServer.GetRerunItems(MySessionSettings, pickSettings); DisplayStatus("Fetching all items..."); //Fill item table with all items. allItemTable = MyDataServer.GetResultItems(); allItems = new Identifiable[allItemTable.Rows.Count]; for (int i = 0; i < allItemTable.Rows.Count; i++) { allItems[i] = new Identifiable(Convert.ToInt32(allItemTable.Rows[i]["item_id"]), allItemTable.Rows[i]["identifier"].ToString()); } DisplayStatus("Storing rerun items..."); //Save the items which should be checked. selectedItems = new Identifiable[rerunItemTable.Rows.Count]; for (int i = 0; i < rerunItemTable.Rows.Count; i++) { selectedItems[i] = new Identifiable(Convert.ToInt32(rerunItemTable.Rows[i][0]), ""); } DisplayStatus("Preparing display..."); listForm = new RerunListForm(pickSettings, checkedExperiments, allItems, selectedItems); DisplayStatus("Finished, please wait..."); this.Cursor = Cursors.Default; listForm.ShowDialog(this); DisplayStatus("Finished"); } catch (Exception ex) { MessageManager.ShowError(ex, "Error when selecting items.", this); } }