본문 바로가기

c#

C# [28] 타이머 만들기

728x90
반응형

 

같이 일하는 상사가 간단하게 타이머 하나 만들어라고 해서 만들어 보았다.

 

// 10분을 초로 설정
        private int remainingTimeInSeconds = 10 * 60;
        private Timer timer;
        private int minutes = 0;
        private int seconds = 0;

        public Main()
        {
            InitializeComponent();

            //타이머
            timer = new Timer();
            timer.Interval = 1000; // 1초 간격
            timer.Tick += Timer_Tick;
            timer.Start();
            UpdateTimerDisplay();
            
        }


        private void Timer_Tick(object sender, EventArgs e)
        {
            if(remainingTimeInSeconds > 0)
            {
                remainingTimeInSeconds--;
                UpdateTimerDisplay();
            }
            else
            {
                //타이머가 끝났을 때의 처리
                ((Timer)sender).Stop();
                //MessageBox.Show("타이머 종료");
            }
        }

        private void UpdateTimerDisplay()
        {
            //분과 초를 나누어 레이블에 표시
            minutes = remainingTimeInSeconds / 60;
            seconds = remainingTimeInSeconds % 60;
            lblTimer.Text = $"{minutes:D2}:{seconds:D2}";

        }
        
        private void btnReset_Click(object sender, EventArgs e)
        {
            remainingTimeInSeconds = 10 * 60;
            UpdateTimerDisplay();
            timer.Start();
        }

 

728x90
반응형