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; }