Monday, June 10, 2013

Create Custmized Count Down Timer With Customized Message

-- Timer Start, Stop, Pause Facility in this timer Control


public int seconds; // Seconds.
public int minutes; // Minutes.
public int hours;   // Hours.
public bool paused; // State of the timer [PAUSED/WORKING].

private void btStart_Click(object sender, EventArgs e)
        {
            if (paused != true)
            {
                if ((textBox1.Text != "") && (textBox2.Text != "") && (textBox3.Text != ""))
                {
                    timer1.Enabled = true;
                    button1.Enabled = true;
                    button2.Enabled = false;
                    button3.Enabled = true;
                    textBox1.Enabled = false;
                    textBox2.Enabled = false;
                    textBox3.Enabled = false;
                    textBox4.Enabled = false;

                    try
                    {
                        minutes = System.Convert.ToInt32(textBox2.Text);
                        seconds = System.Convert.ToInt32(textBox3.Text);
                        hours = System.Convert.ToInt32(textBox1.Text);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
                else
                {
                    MessageBox.Show("Incomplete settings!");
                }
            }
            else
            {
                timer1.Enabled = true;
                paused = false;
                button2.Enabled = false;
                button1.Enabled = true;
            }
        }

private void btPause_Click(object sender, EventArgs e)
        {
            // Pause the timer.
            timer1.Enabled = false;
            paused = true;
            button1.Enabled = false;
            button2.Enabled = true;
        }

private void btStop_Click(object sender, EventArgs e)
        {
            // Stop the timer.
            paused = false;
            timer1.Enabled = false;
            button1.Enabled = false;
            button3.Enabled = false;
            button2.Enabled = true;
            textBox4.Clear();
            textBox3.Clear();
            textBox2.Clear();
            textBox1.Clear();
            textBox1.Enabled = true;
            textBox4.Enabled = true;
            textBox3.Enabled = true;
            textBox2.Enabled = true;
            textBox1.Enabled = true;
            lblHr.Text = "00";
            lblMin.Text = "00";
            lblSec.Text = "00";
        }


private void timer1_Tick(object sender, EventArgs e)
        {
            // Verify if the time didn't pass.
            if ((minutes == 0) && (hours == 0) && (seconds == 0))
            {
                // If the time is over, clear all settings and fields.
                // Also, show the message, notifying that the time is over.
                timer1.Enabled = false;
                MessageBox.Show(textBox4.Text);
                button1.Enabled = false;
                button3.Enabled = false;
                button2.Enabled = true;
                textBox4.Clear();
                textBox3.Clear();
                textBox2.Clear();
                textBox1.Enabled = true;
                textBox4.Enabled = true;
                textBox3.Enabled = true;
                textBox2.Enabled = true;
                textBox1.Enabled = true;
                lblHr.Text = "00";
                lblMin.Text = "00";
                lblSec.Text = "00";
            }
            else
            {
                // Else continue counting.
                if (seconds < 1)
                {
                    seconds = 59;
                    if (minutes == 0)
                    {
                        minutes = 59;
                        if (hours != 0)
                            hours -= 1;

                    }
                    else
                    {
                        minutes -= 1;
                    }
                }
                else
                    seconds -= 1;
                // Display the current values of hours, minutes and seconds in
                // the corresponding fields.
                lblHr.Text = hours.ToString();
                lblMin.Text = minutes.ToString();
                lblSec.Text = seconds.ToString();
            }
        }

No comments :

Post a Comment