BatchLowResFdrOptimizer.frmMain.btnOK_Click C# (CSharp) Method

btnOK_Click() private method

private btnOK_Click ( object sender, EventArgs e ) : void
sender object
e EventArgs
return void
        private void btnOK_Click(object sender, EventArgs e)
        {
            List<string> csv_filepaths = new List<string>(lstOmssaCsvFiles.Items.Count);
            foreach(string csv_filepath in lstOmssaCsvFiles.Items)
            {
                csv_filepaths.Add(csv_filepath);
            }
            bool higher_scores_are_better = chkHigherScoresAreBetter.Checked;
            double max_false_discovery_rate = (double)numMaximumFalseDiscoveryRate.Value;
            bool unique = chkUnique.Checked;
            bool overall_outputs = chkOverallOutputs.Checked;
            bool phosphopeptide_outputs = chkPhosphopeptideOutputs.Checked;
            string output_folder = txtOutputFolder.Text;

            if(output_folder == null || output_folder == string.Empty)
            {
                MessageBox.Show("Output folder must be specified");
                return;
            }

            BatchLowResFdrOptimizer batch_low_res_fdr_optimizer = new BatchLowResFdrOptimizer(csv_filepaths,
                higher_scores_are_better,
                max_false_discovery_rate,
                unique,
                overall_outputs, phosphopeptide_outputs, output_folder);

            batch_low_res_fdr_optimizer.Starting += handleStarting;
            batch_low_res_fdr_optimizer.StartingFile += handleStartingFile;
            batch_low_res_fdr_optimizer.UpdateProgress += handleUpdateProgress;
            batch_low_res_fdr_optimizer.ThrowException += handleThrowException;
            batch_low_res_fdr_optimizer.FinishedFile += handleFinishedFile;
            batch_low_res_fdr_optimizer.Finished += handleFinished;

            lstOmssaCsvFiles.SelectedItem = null;
            prgProgress.Value = prgProgress.Minimum;

            Thread thread = new Thread(new ThreadStart(batch_low_res_fdr_optimizer.Optimize));
            thread.IsBackground = true;
            thread.Start();
        }