Chia sẻ

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.


[C#] Tạo đồng hồ đếm ngược 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.


Chúc các bạn thành công !!!


Chia sẻ

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *