C# Progress Bar Kullanımı

Nedir bu progressbar ne işe yarar?

Öncelikle progressbar durum çubuğu demektr ve kullanıcıya yapılan işlem hakkında bilgi verir.Kısacası internet explorer’ı açın ve bir site açmaya çalışın eve sayfanın en alt kısmına yani resimdeki yere bakın

progress bar

Evet Burdaki yeşil şey bir progressbar ve bize sitenin ne kadar sürede açılıcağını gösteriyor(aşağı yukarı tabi :) ) Nese bizde bunun gibi bir program yapıcaz. Butona tıkladığımızda listbox’a sayılar eklenmeye başlıcak ve sayı eklemesi bitene kadar progress bar bize işlemin ne durumda olduğunu göstericek.

Öncelikle forumumuza bir adet listbox,bir adet buton ve bir adet progress bar ekleyelim.Programın görüntüsü aşağıdaki gibi olucaktır.

prog2Kodları ;

private void button1_Click(object sender, EventArgs e)
{
progressBar1.Minimum = 1;
progressBar1.Maximum = 10000;
progressBar1.Visible = true;
int k;
for (k = 1; k <= 10000; k++)
{
progressBar1.Value = k;
listBox1.Items.Add(k.ToString());
Application.DoEvents();
}
progressBar1.Visible = false;

}

Açıklaması;

öncelikle progress barı biraz anlatıyım size. Çalışma mantığı her işlemde bir artmasıdır.Minimum ve maximum değeleri belirtmek zorundasınız ve bunlar tabikide int tipinde olmak zorundadır yani 1,23 gibi bir rakam minimum değer olamaz.

ProgressBar’ın minimum değerini ayarlıyoruz. genelikle herkes 1 yapar

progressBar1.Minimum = 1;

Sonra maximum değerini veriyoruz bizimki 1000 yani progress bar 1000 sayısına ulaştığında yeşil cubuk sonda olucak.

progressBar1.Maximum = 10000;

Burada k adında yeni bir değişken yaatıyoruz bunu for döngüsünde kullanıcaz. Daha sonra for dongusu yaratıoruz progress barın değerini 1000 vermiştik hatırlarsanız o yuzden for dongusude 1000′e kadar devam edicek. Döngü her döndüğünde progress bar’ın values’u yani değeri k olucak. yani döngü ilk dondugunde 1 ikincide 2 vs. daha sonra listbox’a bu sayıları ekliyoruz. Application.DoEvents dememizin nedeni ise dongu bittiginde programın çalışmaya devam etmesini sağlamak

int k;
for (k = 1; k <= 10000; k++)
{
progressBar1.Value = k;
listBox1.Items.Add(k.ToString());
Application.DoEvents();
}

Evet Bu kadar 😀