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;
Ş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();
Ş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.
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;
}
}
}
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();
}
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Ş
işime yaradı.. Teşekkür ederim.
YanıtlaSil