private void button_Process_Click(object sender, EventArgs e)
 {
     label_Techniques.Text = combobox_techniques.Text;
     if (combobox_techniques.Text == "FCFS")
     {
         FCFS.doFCFS();
         GanttChart(FCFS.arrCTRT);
         finalize();
     }
     else if (combobox_techniques.Text == "SJF")
     {
         SJF.doSJF();
         GanttChart(SJF.arrCTRT);
         finalize();
     }
     else if (combobox_techniques.Text == "NPP")
     {
         NPP.doNPP();
         GanttChart(NPP.arrCTRT);
         finalize();
     }
     else if (combobox_techniques.Text == "SRTF")
     {
         SRTF.doSRTF();
         GanttChart(SRTF.arrCTRT);
         finalize();
     }
     else if (combobox_techniques.Text == "PP")
     {
         PP.doPP();
         GanttChart(PP.arrCTRT);
         finalize();
     }
     else if (combobox_techniques.Text == "RR")
     {
         if (textBox_TQ.Text == "")
         {
             MessageBox.Show("Time Quantum is empty: Please fill the required fields", "E R R O R", MessageBoxButtons.OK, MessageBoxIcon.Error);
             textBox_TQ.Show();
             label_TQ.Show();
         }
         else if (int.Parse(textBox_TQ.Text) <= 0)
         {
             MessageBox.Show("Invalid Input: Time quantum must be greater than 0", "E R R O R", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         else
         {
             RR.doRR(int.Parse(textBox_TQ.Text));
             GanttChart(RR.arrCTRT);
             finalize();
         }
     }
 }
 void GanttChart(int[,] arrCTRT)
 {
     gantt.Columns.Clear();
     for (int i = 0; i < FCFS.calcTBT(); i++)
     {
         if (arrCTRT[i, 1] > 0)
         {
             gantt.Columns.Add("time" + i, "" + i);
             gantt.Rows[0].Cells["time" + i].Value = "P" + arrCTRT[i, 1];
             ChangeColor("time" + i, arrCTRT[i, 1]);
         }
     }
     gantt.Columns.Add("time" + (FCFS.calcTBT() - 1), "" + (FCFS.calcTBT() - 1));
     gantt.Rows[0].Cells["time" + (FCFS.calcTBT() - 1)].Style.BackColor = Color.Black;
 }