//En metod som hanterar Alarmen private void AlarmUpdateHandler(Label alarmLabel, TextBox tH, TextBox tM, Button b1, Alarm alarm, ref bool firstClickAlarm) { //Om det är första klicket på knappen if (firstClickAlarm) { if ((tH.Text.CheckHourValue()) && (tM.Text.CheckMinuteValue())) { c1.AlarmHandler(tH.Text.Parser(), tM.Text.Parser(), alarm); alarmLabel.Text = tH.Text.Parser().ToString("D2") + ":" + tM.Text.Parser().ToString("D2"); b1.BackColor = Color.FromArgb(121, 174, 138); tH.ReadOnly = true; tM.ReadOnly = true; tH.ForeColor = Color.FromArgb(105, 105, 105); tM.ForeColor = Color.FromArgb(105, 105, 105); b1.Text = "Stop Alarm"; firstClickAlarm = false; } else { Exstensions.ErrorMessage(); return; } } //Om firstclick är false IE andra klicket på knappen else { tH.ReadOnly = false; tM.ReadOnly = false; tH.ForeColor = Color.White; tM.ForeColor = Color.White; b1.Text = "Start alarm"; b1.BackColor = Color.FromArgb(52, 93, 126); b1.FlatAppearance.BorderColor = Color.FromArgb(244, 131, 124); c1.AlarmHandler(true, alarm); firstClickAlarm = true; } }
//Hanterar eventet för då klockan startas på knappen private void buttonStartClock_Click(object sender, EventArgs e) { //Om firstClick är true IE det är första klicket på knappen if (firstClick) { Clock.isRunning = true; //Gör en koll för att se om man har skrivit in rätt värde(enbart siffror) med extensions som returnerar bools if ((textBoxSetMinute.Text.CheckMinuteValue()) && (textBoxSetHour.Text.CheckHourValue())) { c1.SetTime(int.Parse(textBoxSetHour.Text), int.Parse(textBoxSetMinute.Text)); textBoxSetHour.ReadOnly = true; textBoxSetMinute.ReadOnly = true; textBoxSetHour.ForeColor = Color.FromArgb(105, 105, 105); textBoxSetMinute.ForeColor = Color.FromArgb(105, 105, 105); buttonStartClock.Text = "Stop Clock"; t1 = new Thread(new ThreadStart(c1.StartClock)); t1.IsBackground = true; //Viktig att sätta tråden till "isBackground"! Annars kommer den fortsätta köras om man stänger ner programmet(Main-thread). c1.clockEventHandler += ClockStartEvent; t1.Start(); firstClick = false; } else { Exstensions.ErrorMessage(); return; } } //Om firstklick är False IE Andra klicket på knappen else { c1.StopClock(); buttonStartClock.Text = "Start Clock"; textBoxSetHour.ReadOnly = false; textBoxSetMinute.ReadOnly = false; textBoxSetHour.ForeColor = Color.White; textBoxSetMinute.ForeColor = Color.White; firstClick = true; } }