Trong bài này, csharpcanban.com sẽ hướng dẫn các bạn sử dụng Điều kiển Timer (Timer Control) để tạo đồng hồ đếm ngược thời gian theo giây.
Trình tự thực hiện như sau:
Bước 1: Khởi tạo một Project mới
Bước 2: Kéo vào Form1 những Control sau đây: Label1, Button1.
Bước 3. Viết code như sau:
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private System.Windows.Forms.Timer aTimer;
private int counter = 60;
private void button1_Click(object sender, EventArgs e)
{
aTimer = new System.Windows.Forms.Timer();
aTimer.Tick += new EventHandler(aTimer_Tick);
aTimer.Interval = 1000; // 1 second
aTimer.Start();
label1.Text = counter.ToString();
}
private void aTimer_Tick(object sender, EventArgs e)
{
counter–;
if (counter == 0)
aTimer.Stop();
label1.Text = counter.ToString();
}
}
}
Trong đoạn mã trên, đối tượng aTimer thuộc lớp Timer, được khai báo thông qua câu lệnh
private System.Windows.Forms.Timer aTimer;
Biến counter là số giây cần đếm ngược, khai báo thông qua câu lệnh
private int counter = 60;
Trong sự kiện button1_click ta có mã sau:
aTimer = new System.Windows.Forms.Timer(); //Khởi tạo đối tượng Timer mới
aTimer.Tick += new EventHandler(aTimer_Tick); //Tạo sự kiện aTimer_Tick
aTimer.Interval = 1000; // thời gian ngắt quãng của Timer là 1 giây
aTimer.Start(); //Bắt đầu khởi động Timer
label1.Text = counter.ToString(); //Hiển thị biến counter ra Label1
Trong sự kiện aTimer_Tick
counter–; //Giảm 1 giây
if (counter == 0) //Nếu bằng 0 thì dừng Timer
aTimer.Stop();
label1.Text = counter.ToString(); //Hiển thị biến counter lên label1
Hãy thực hành và viết bình luận phía dưới nhé các bạn.