C# ile Progress Bar ve Timer Kullanımı

Merhaba arkadaşlar bugün sizlere c# ile progress bar kullanımından bahsedeceğim. Bununla ilgili bir örneği de yazımın sonunda bulabileceksiniz.

Benim yaptığım uygulamada progresbar ve timer öğeleri birlikte kullanılmaktadır. Öncelikle progresbar kullanımı için bir class oluşturuyorum. Bu class 3 degiskeni kapsıyor. Bunlar sıra ile;

showProgressBar = ProgressBar objesinin görünürlüğüyle oynayabilmek için eğer bu değeri "false" olarak verirsek progressbar çalışacaktır fakat görünürde olmayacaktır.

maxValue = ProgressBar objesinin ulaşacağı maksimum değeri bu değişkenle veriyoruz.

progressValue = ProgressBar objesinin anlık değerini bu değişkenden ayarlıyoruz. 

    
    class Degiskenler
    {

        private bool showProgress;

        public bool ShowProgress
        {
            get { return showProgress; }
            set { showProgress = value; }
        }
        private int maxValue;

        public int MaxValue
        {
            get { return maxValue; }
            set { maxValue = value; }
        }
        private int progressValue;

        public int ProgressValue
        {
            get { return progressValue; }
            set { progressValue = value; }
        }  

    }


Şimdi "Degiskenler" class'ından türetme yapıyoruz ve formun load işlemiyle birlikte değişkenimizin showprogress degiskenini true yapıyoruz ve maksimum değerini 50 olarak belirliyoruz. Sonra bu değerleri progressbar tanımlıyoruz. Sonrasında timer öğemizin start methodunu çalıştırıyoruz.

         Degiskenler d = new Degiskenler();
        private void Form1_Load(object sender, EventArgs e)
        {
            d.ShowProgress = true;
            d.MaxValue = 50;          
            ProgressBarim.Visible = d.ShowProgress;
            ProgressBarim.Maximum = d.MaxValue;
            progressTimer.Start();
        }


Şimdi sıra timer'ın tick metodunu doldurmada tick sizin belirlediğiniz aralıkla çalışacaktır. Bu aralığı timer'ın interval değerini değiştirerek yapabilirsiniz.

Interval = 1000 mili saniye ( 1 saniye yapar ).

Biz şimdilik sadece 100 mili saniye ile devam edelim işimize her 100 mili saniyede tick metodumuz çalışacaktır. Şimdi Tick metodumuzu yazalım:


        private void progressTimer_Tick(object sender, EventArgs e)
        {
          
            d.ProgressValue += 1;
            ProgressBarim.Value = d.ProgressValue;


            if (ProgressBarim.Maximum == ProgressBarim.Value)
            {
                d.ShowProgress = false;
                progressTimer.Enabled = false;
                ProgressBarim.Visible = d.ShowProgress;
                btnBlogger.Visible = btnFacebook.Visible = btnLinkedIn.Visible = btnTwitter.Visible = true;
            }
        }

Tick methodu her çalıştığında değişkenin değerini 1 arttırıyoruz ve maksimum değerine eşit hale gelene kadar bu döngü sürüyor.  İf döngüsünün içine girdikten sonra artık orada ne yapmak istediğiniz size kalmıştır. Bu arada timer'ınızın enable'ını false yapmayıda ihmal etmeyelim. Örneği aşağıdaki linkten indirebilirsiniz.


Herkese Kolay Gelsin

Aslı YILMAZ DEMİRBAŞ





Yorumlar

Yorum Gönder

Bu blogdaki popüler yayınlar

Android Geliştirme Ortamı Kurulumu

varchar ve nvarchar arasındaki fark