Merhaba Webkolog okurları! Bugün C# .Net Framework 4
ve Visual Studio 2010 kullanarak uygulamalarımızda belirli aralıklarla kod
çalıştırmak için kullandığımız Timer kontrolünü yakından inceleyeceğiz. Timer,
özellikle belirli zaman aralıklarında tekrar eden işlemler yapmak istediğimizde
oldukça kullanışlıdır. Gelin, bu kontrolün temel özelliklerine ve kullanımına
birlikte göz atalım.
Timer Kontrolü Nedir?
Timer kontrolü, belirli bir zaman aralığında düzenli
olarak bir olay (event) tetikleyen bir bileşendir. Bu olay, belirli bir kod
bloğunu çalıştırmak için kullanılır. Timer, Windows Forms uygulamalarında ve
arka plan işlemlerinde kullanılabilir.
Timer Kontrolünü Kullanma
- Timer Oluşturma:
- Visual Studio 2010'da, Toolbox'tan bir Timer kontrolünü formunuza
sürükleyerek veya kodda bir Timer nesnesi oluşturarak başlayabilirsiniz.
System.Windows.Forms.Timer sınıfını kullanırız.
- Timer'ı Ayarlama:
- Interval özelliği, Timer'ın tetikleme aralığını milisaniye
cinsinden belirtir.
- Enabled özelliği, Timer'ın aktif olup olmadığını kontrol eder. true
olarak ayarlandığında Timer çalışmaya başlar.
- Tick Olayını Kullanma:
- Tick olayı, Timer her tetiklediğinde gerçekleşir. Bu olaya bir olay
işleyici (event handler) ekleyerek, belirli aralıklarla çalışmasını
istediğimiz kodu yazabiliriz.
Örnek Kullanım
Aşağıdaki örnekte, bir Timer oluşturmayı, ayarlamayı
ve Tick olayında bir mesaj kutusu göstermeyi gösteriyoruz:
// Timer örneği
// Timer'ın tetikleme aralığını 1000 milisaniye (1 saniye) olarak ayarlayın.
timer1.Interval = 1000;
// Timer'ı etkinleştirin, böylece çalışmaya başlar.
timer1.Enabled = true;
// Timer'ı başlatmanın başka bir yolu.
timer1.Start();
// Timer'ı durdurmak için
timer1.Stop();
// Tick olayına bir olay işleyici ekleyin. Bu metot, Timer her tetiklediğinde çalışır.
timer1.Tick += new EventHandler(timer1_Tick);
// Tick olay işleyicisi
void timer1_Tick(object sender, EventArgs e)
{
MessageBox.Show("Timer tetiklendi!"); // Her saniyede bir mesaj kutusu göster.
}
Bu örnekte, timer1 adında bir Timer oluşturduk.
Interval özelliğini 1000 olarak ayarlayarak Timer'ın her saniyede bir
tetiklemesini sağladık. Enabled özelliğini true yaparak Timer'ı başlattık.
timer1_Tick metodu ise Tick olayında çalışacak kodu içerir.
Timer Kontrolünün
Özellikleri
- Enabled: Timer'ın etkin olup olmadığını belirler.
- Interval: Timer'ın tetikleme aralığını milisaniye cinsinden belirtir.
- Tag: Timer ile ilişkilendirilebilecek ek bir nesne saklar.
Timer Kontrolünün
Metotları
- Start(): Timer'ı başlatır.
- Stop(): Timer'ı durdurur.
Timer Kontrolünü
Kullanırken Dikkat Edilmesi Gerekenler
- UI Thread: Windows Forms Timer, UI thread üzerinde çalıştığı için, uzun süren
işlemleri Tick olayında yapmaktan kaçınmalısınız. Uzun süren işlemler
uygulamanın donmasına neden olabilir. Bu tür işlemler için
System.Threading.Timer kullanmanız daha uygun olabilir.
- DoEvents: Application.DoEvents() metodunu Tick olayında kullanmaktan kaçının. Bu
metot, uygulamanın mesaj kuyruğunu işlemesine neden olur ve performans
sorunlarına yol açabilir.
Örnek: Geri Sayım Sayacı
Aşağıdaki örnekte, Timer kullanarak basit bir geri
sayım sayacı oluşturuyoruz:
int sayac = 10;
private void Form1_Load(object sender, EventArgs e)
{
timer1.Interval = 1000;
timer1.Enabled = true;
label1.Text = sayac.ToString();
}
private void timer1_Tick(object sender, EventArgs e)
{
sayac--;
label1.Text = sayac.ToString();
if (sayac == 0)
{
timer1.Stop();
MessageBox.Show("Geri sayım tamamlandı!");
}
}
Bu örnekte, Form1_Load olayında Timer'ı başlatıyoruz
ve geri sayımın başlayacağı değeri bir değişkene atıyoruz. timer1_Tick olayında
ise her saniyede bir sayacı azaltıyor ve Label kontrolünde gösteriyoruz. Sayaç
0'a ulaştığında Timer'ı durdurup bir mesaj gösteriyoruz.
Sevgili Webkolog okurları, C# .Net Framework 4 ve Visual Studio 2010 kullanarak Timer kontrolünün temel kullanımını ve bazı önemli özelliklerini bu şekilde incelemiş olduk. Bu kontrol, uygulamalarınızda zamanlanmış görevleri kolayca gerçekleştirmenize olanak tanır.
Webkolog'u takipte kalın!
Hepinize bol zamanlı ve başarılı projeler dilerim!
0 yorum:
Yorum Gönder