TIMER 이용한 ALARM
public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //타이머 시작 timer1.Enabled = true; timer1.Interval = 1000; //1초마다 갱신 //ComboBox item 추가 datelist.Items.Add("회의"); datelist.Items.Add("약속"); datelist.Items.Add("식사"); datelist.Items.Add("휴식"); datelist.Items.Add("퇴근"); //기본 설정 지정 datelist.SelectedIndex = 1; } //추가 버튼 private void btn_add_Click(object sender, EventArgs e) { string date = ""; if (datelist.SelectedIndex >= 0) { date = datelist.Items[datelist.SelectedIndex].ToString(); } //입력 if (maskedTextBox1.Text.Length == 5) { string list = maskedTextBox1.Text.Substring(0, 5).Trim(); list = list + ", " + date; listBox1.Items.Add(list); maskedTextBox1.Clear(); datelist.SelectedIndex = 1; //커서 위치 변경 maskedTextBox1.Focus(); maskedTextBox1.SelectionStart = 0; } //입력을 잘못 했을 경우 else { MessageBox.Show("다시 입력해주세요"); maskedTextBox1.Clear(); datelist.SelectedIndex = 1; //커서 위치 변경 maskedTextBox1.Focus(); maskedTextBox1.SelectionStart = 0; } } //제거 버튼 private void btn_remove_Click(object sender, EventArgs e) { listBox1.Items.Remove(listBox1.SelectedItem); } //timer private void timer1_Tick(object sender, EventArgs e) { ArrayList delinex = new ArrayList(); //현재 시간 출력 DateTime date = DateTime.Now; label1.Text = $"{date.Hour}시 {date.Minute}분 {date.Second}초"; //입력한 시간과 현재 시간 비교 int i = 0; foreach (var input_item in listBox1.Items) { string result = string.Format("{0}", input_item); string[] cols = result.Split(','); string time = cols[0].Trim(); string job = cols[1].Trim(); string hourstr = time.Substring(0, 2).Trim(); string minstr = time.Substring(3, 2).Trim(); int hour = int.Parse(hourstr); int min = int.Parse(minstr); //입력한 시간과 현재 시간이 같을때 if (date.Hour == hour && date.Minute == min && date.Second == 00) { if (job == "퇴근") { MessageBox.Show("퇴근입니다."); } else { MessageBox.Show(new Form { TopMost = true }, $"{job} 예정되어 있습니다.~~~ : \r\n현재 : {date.Hour}시 {date.Minute}분 {date.Second}초 입니다.", "Message"); } delinex.Add(i); } i++; } //지난 일정은 삭제 if (delinex != null) { delinex.Reverse(); foreach (var del in delinex) { string delstr = string.Format("{0}", del); int delint = (int)Convert.ChangeType(del, typeof(int)); listBox1.Items.RemoveAt(delint); delinex.Remove(delstr); } } }
'C# Winform' 카테고리의 다른 글
C# CPU & MEMORY 사용량을 DATAGRIDVIEW로 보기 (0) | 2021.01.31 |
---|---|
C# TEXT FILE READ, SAVE (텍스트 파일 읽고 TEXTBOX에 넣기) (0) | 2021.01.13 |
C# TIMER 이용해서 타이머 만들기 (0) | 2021.01.12 |
C# EXCEL FILE READ, SAVE (엑셀 읽고 저장하기) (0) | 2021.01.11 |