ALLAH (cc)'IN EN GÜZEL İSİMLERİ (ESMA-ÜL HÜSNA)
el - METİN

Çok sağlam, pek kuvvetli, güçlü

     ANASAYFA    |   BEN KİMİM?   |   GALERİ   |   ZİYARETÇİ DEFTERİ   |   İLETİŞİM      Sizin yaratılışınızda ve Allah'ın (yeryüzüne) yaydığı her bir canlıda da kesin olarak inanan bir toplum için elbette nice deliller vardır. - Câsiye, 45/4

C Sharpta Timer ile Kronometre Yapımı

C Sharpta Timer ile Kronometre Yapımı
 + Yazıyı Büyüt    - Yazıyı Küçült           

Bu dersimde timer ile örnek uygulama anlatacağım. Timer nesnesini kullanarak kronometre yapacağız. Basit bir örnek olacak inşallah.

Timer nesnesinin kullanımı ile ilgili bilginiz yoksa ya da bilgi tazelemek isterseniz C Sharp Timer Nesnesi Özellikleri ve Kullanımı dersini okuyabilirsiniz.

1.Adım: Öncelikle projemizi açalım ve form üzerine 1 adet label, 1 adet timer ile 3 adet buton ekleyelim. Sonra aşağıdaki ayarları yapalım:

  • Labelin textini 0 (sıfır) yapalım ve fontunu büyütelim ki saniye sayımı güzel görünsün.
  • Eklediğimiz 3 butonunda textini Başlat, Durdur ve Sıfırla yapalım.
  • Eklediğimiz timera tıklayarak özellikler penceresinden interval değerini 1000 (1 saniye) yapalım ve enabled değeri false olsun.

Başlat butonuna tıklayınca timer sayımını başlatacağız. Durdur butonuna basınca timerı durduracağız. Sıfırla butonuna basınca timerı durdurup labelin textini 0 (sıfır) yapacağız.

Evet eklediğimiz nesnelerin ayarlarını yaptıktan sonra gelelim kodlamayı yapmaya:

2.Adım: İlk olarak başlat butonuna çift tıklayarak butonun kodunu aşağıdaki gibi yazalım:

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
        }

Burada timer1 nesnesini başlattık.

3.Adım: Durdur butonuna çift tıklayarak kodunu aşağıdaki gibi yazalım:

        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
        }

Burada da timer 1 nesnesini durdurduk.

4.Adım: Sıfırla butonuna çift tıklayarak kodunu aşağıdaki gibi yazalım:

        private void button3_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            label1.Text = "0";

        }

Burada da timer1 nesnesini durdurup label1 nesnesinin yazısını sıfır yaptık.

5.Adım: Şimdi ise timer1 nesnesine çift tıklayarak tick fonksiyonunu aşağıdaki gibi yazalım.

        private void timer1_Tick(object sender, EventArgs e)
        {
            int sayi = Convert.ToInt32(label1.Text);
            sayi++;
            label1.Text = sayi.ToString();
        }

Burada da labelin yazısını integere çevirerek sayi değişkenine alıyoruz ve bunu 1 arttırıp tekrar label1’in textine yazıyoruz. Bu şekilde her 1 saniyede (intervale 1 saniye vermiştik) bu işlemi yapmış oluyoruz.

Programı çalıştırdığımızda sorunsuz çalıştığını görebiliriz. Dersle ilgili soru ve önerilerinizi aşağıdaki yorum ekle kısmından yazabilirsiniz.

İlerleyen günlerde tekrar görüşmek üzere. Sağlıcakla kalınız…

Mustafa KARSLI     Kaynak: www.mustafakarsli.com

( 11048 ) kez okundu     -     28.11.2013    Tweetle     
C Sharpta Timer ile Kronometre Yapımı, kronometre, c#, csharp, c sharp, c sharp timer, timer nesnesi, timer kullanımı, timer, timer1.tick, timer1.interval, kronometre yapımı, kronometre nasıl yapılır, kronometre kodu, timer ile kronometre
Ziyaretçi Yorumları
( 4 ) Yorum
Tümünü Göster
Volkan - İstanbul - 30.05.2014 02.50
     Kusura bakmayın gerçek zamanı böyle alamazsınız. Bilgisayarda o an çalışan başka bir uygulamaların yoğunluğundan dolayı zamanda sapmalar olur. Ayrıca timer ların tick olayı her zaman istenilen zaman aralığında olmaz her zaman içinde işlenen kod kadar uzar. her saniyede birkaç milisaniye geri kalır. Gerçek bir kronometre böyle yapılır: forma 1 button ve 1 label ekleyin. button un Click eventi button1_Click olacak şekilde ayarlayın. private void button1_Click(object sender, EventArgs e) { if (button1.Text == "Dur") { button1.Text = "Başla"; if (_tmr != null) _tmr.Stop(); label1.Text = "00:00"; } else { button1.Text = "Dur"; //şu anki zamanı al ve global e at. DateTime _dt = DateTime.Now; TimeSpan _ts = new TimeSpan(_dt.Hour, _dt.Minute, _dt.Second); _tss = Convert.ToInt32(_ts.TotalSeconds); //Başlangıç zamanını 00:00 olarak ayarla. _gts = new DateTime(1, 1, 1, 0, 0, 0); //10 milisaniyede 1 kontrol edecek şekilde Timer ı başlat. _tmr = new Timer(); _tmr.Interval = 10; _tmr.Tick += new EventHandler(_tmr_Tick); _tmr.Enabled = true; } } Timer _tmr { get; set; } Int32 _tss { get; set; } DateTime _gts { get; set; } void _tmr_Tick(object sender, EventArgs e) { //Şuanki zamanı al. DateTime _indt = DateTime.Now; TimeSpan _ints = new TimeSpan(_indt.Hour, _indt.Minute, _indt.Second); Int32 _intss = Convert.ToInt32(_ints.TotalSeconds); //Bir önceki zamandan çıkarıp aradaki farkı bul.(kaç saniye geçmiş) Int32 _fark = _intss - _tss; if(_fark > 0) { //geçen saniye kadar zamanı globaldeki başlangıç zamanına ekle ve göster. label1.Text = _gts.AddSeconds(_fark).ToString("mm:ss"); } }

öZGÜR - ANKARA - 18.04.2014 14.28
     hOCAM ÇOK YARARLI BİLGİLER YAYINLIYORSUNUZ DAHA YENİ SİZİN SİTESİZDEKİ ÖRNEKLERİ İNCELEMEYE BAŞLADIM ÇOK MEMNUN OLDUM DEVAM EDİCEM EMEGİNİZE SAGLIK TEŞEKKÜR EDERİZ.

esmanur - istanbul - 08.04.2014 19.13
     hocam benim bir ödevim var yardımcı olursanız çok memnun olurum button olmadan accessle formu boyutunu değiştirmem lazım ama her değişimde acessde güncellenerek kaydolması lazım bana sadece kodlar lazım

fehmihasan - rize - 01.04.2014 11.01
     Hocam bu sağlıklı bilgiler için teşekkür ederim . Emeğinize sağlık

Yorum Ekle
Güvenliğiniz için iP adresiniz kaydedilmektedir. Herhangi bir Hukuki Dava ile karşılaşmamak için hakaret içeren sözler ve argo kelimeler kullanmayınız.
İsim
:
Yorum
:
En fazla 400 karakter
Şehir
:
E-Posta
:
E-Posta adresi Yayınlanmaz
(Güvenliğiniz için ip adresiniz (54.227.126.69) kaydedilecektir)
  Yeni Dersleri Takip etmek İstiyorum. Adresime E-Posta Gelmesini Onaylıyorum.
BENZER YAZILAR
Android
Bilgisayar Ağları
Bilişim Teknolojileri
C Sharp
Çalışmalar
Donanım
Fireworks
Flash - Action Script 3
HTML
JavaScript
Kişisel Gelişim
Okul Öncesi Etkinlik
PHP
Silverlight
Şanlı Tarihimiz
  Zamanlanmış Duyuru/Ödev Bulunmamaktadır...  
Kişisel resim ve yazıları kullanmak yasaktır. Bunun dışındaki dersleri İsim ve Kaynak göstermek şartıyla kullanmak serbesttir.
 Aktif ziyaretçi : 7
 Bugün : 640
 Toplam : 1323786
Mustafa KARSLI - Bilişim Teknolojileri Öğretmeni © 2008 - 2017  
Site Haritası

 

7