Timer Nesnesi Kullanımı - CSharp


C# form projelerinizde Timer nesnesi kullanmak istiyorsanız aşağıdaki kodlar size yardımcı olacaktır.

Ekran Görüntüsü

Kod


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CSharpCalisma
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //---------------------------------------------
		//Public Timer Nesnesi Oluşturma İşlemi
		//---------------------------------------------
        Timer zamanOlcer = new Timer();

        //Timer Nesnesini Hazırlayan Metod
        Timer TimerAyar(Timer t)
        {
            t.Interval = 1000;
            t.Tick += Timer_Tick;

            return t;
        }

		//---------------------------------------------
        //Tick Olayı
		//---------------------------------------------
        private void Timer_Tick(object sender, EventArgs e)
        {
            label1.BackColor = Color.LightGreen;
            label1.Text = "Merhaba " + DateTime.Now.Second;
        }
		
		//---------------------------------------------
        //Timer'ı Başlatmak İçin Kullanılan Olay
		//---------------------------------------------
        private void baslatButton_Click(object sender, EventArgs e)
        {
            TimerAyar(zamanOlcer).Start();
        }
		
		//---------------------------------------------
        //Timer'ı Durdurmak İçin Kullanılan Olay
		//---------------------------------------------
        private void durdurButton_Click(object sender, EventArgs e)
        {
            TimerAyar(zamanOlcer).Stop();
        }
    }
}

Kod (Açıklamalı)


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace CSharpCalisma
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //--------------------------------------------------
        //zamanOlcer isminde bir Timer nesnesi oluşturduk.
        //Nesneyi özellikle class seviyesinde tanımladık,
        //böylelikle Timer'ı amacımıza göre diğer nesneler
        //üzerinde kullanabileceğiz.
        //--------------------------------------------------
        Timer zamanOlcer = new Timer();

        //--------------------------------------------------
        //Timer nesnesine özellik ve olay ataması yapan
        //dinamik bir metod. Biz bir Timer nesnesi 
        //örneğini parametre olarak vereceğiz, 
        //metod da verilen nesne örneğine ilgili
        //atamaları yapacak.
        //--------------------------------------------------
        Timer TimerAyar(Timer t)
        {
            //--------------------------------------------------
            //Timer nesnesinin hangi aralıklarla
            //çalışacağını belirliyoruz. Bu parametre
            //milisaniye cinsinden veriliyor. Yani
            //biz parametre olarak 1000 değerini 
            //girdiğimizde 1 saniye aralıklarla
            //çalışmasını istediğimizi belirtiyoruz.
            //--------------------------------------------------
            t.Interval = 1000;

            //--------------------------------------------------
            //Timer nesnesi belli aralıklarla çalışacak.
            //Tamam ama bu aralıklarla ne yapacak?
            //İşte bunu Timer nesnesinin Tick olayı ile
            //belirleyeceğiz. Verilen Timer nesnesi
            //örneğine atama yapmak için Timer_Tick
            //metodunu oluşturduk ve atamasını yaptık.
            //--------------------------------------------------
            t.Tick += Timer_Tick;

            return t;
        }

        //--------------------------------------------------
        //Tick olayı için kullanılan metod.
        //Biz Tick olayı her gerçekleştiğinde Form
        //üzerindeki label1 nesnesinin arkaplan rengini
        //değiştirsin ve bir yazı yazdırsın istiyoruz.
        //Timer_Tick metoduna bunları yapan kodları
        //ekledik.
        //--------------------------------------------------
        private void Timer_Tick(object sender, EventArgs e)
        {
            label1.BackColor = Color.LightGreen;
            label1.Text = "Merhaba " + DateTime.Now.Second;
        }

        //--------------------------------------------------
        //Timer nesnesi başlatılabiliyor ve durdurulabiliyor.
        //Bunu nasıl yapacağınız da biraz size ve projeye
        //bağlı. Ben başlatma ve durdurma işlemlerini
        //buton ile yapmayı tercih ettim.
        //--------------------------------------------------

        //--------------------------------------------------
        //baslatButton nesnesine ait Click olayı
        //zamanOlcer Timer nesnesi örneğini
        //başlatmak için kullanılıyor.
        //--------------------------------------------------
        private void baslatButton_Click(object sender, EventArgs e)
        {
            TimerAyar(zamanOlcer).Start();
        }

        //--------------------------------------------------
        //durdurButton nesnesine ait Click olayı
        //zamanOlcer Timer nesnesi örneğini 
        //durdurmak için kullanılıyor.
        //--------------------------------------------------
        private void durdurButton_Click(object sender, EventArgs e)
        {
            TimerAyar(zamanOlcer).Stop();
        }
    }
}

Etiketler
csharp açıklamalı içerik csharp timer csharp windows forms