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

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 be 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.

Kodları ;

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 :) buradan uygulamayı indirebilirsiniz.

Bunlarda İlginizi Çekebilir:

15 Comments

  • Can Ozkaymak
    23 Mayıs 2009 - 12:32 | Permalink

    Selamlar bu uygulamanin bir web browsera nasil aticaimizi bir turlu bulamadim yeniyim daha bunun da aciklamasini verirseniz cok sevinirim

  • admin
    23 Mayıs 2009 - 16:01 | Permalink

    en kısa sürede bir web broswer yapımını anlatıcam can.

  • Can Ozkaymak
    25 Mayıs 2009 - 14:40 | Permalink

    Tamam bekliyorum sabirsizlikla

  • admin
    25 Mayıs 2009 - 17:55 | Permalink

    web browser yapımı yayınlandı.

  • serdar kurt
    19 Aralık 2009 - 06:24 | Permalink

    Elinize kolunuza sağlık çok teşekkür ederim.

  • mustafa
    13 Kasım 2010 - 16:29 | Permalink

    Teşekkürler faydalı oldu

  • COM
    26 Aralık 2010 - 10:21 | Permalink

    Çok teşekkürler sağolun değerli paylaşım için.

  • emre
    08 Mayıs 2011 - 09:16 | Permalink

    ben progress bar ı form açmak için kulanıcam da yardım eder misiniz.

  • admin
    09 Mayıs 2011 - 11:43 | Permalink

    @emre valla onu bende bilmiyorum araştırıyorum bulabilirsem yazarım.

  • bilge öz
    04 Haziran 2011 - 20:11 | Permalink

    barın görümünü nasıl değiştire biliriz fakrlı renkler ve faklı görünüme nasıl büründürebiliriz?

  • merve
    15 Aralık 2011 - 07:21 | Permalink

    Ya progressbar çalışırken yüzde kaçnın dolduğunu gösteren bi label i nasıl çalıştıracazzz

  • 15 Aralık 2011 - 07:30 | Permalink

    progressBar1.Value değerini yazdırabilirsin

  • berke
    23 Aralık 2011 - 00:06 | Permalink

    sürekli loading olsa bitse başa dönse yani nasıl yaparız

  • Murathan
    20 Ocak 2012 - 00:49 | Permalink

    hocam bu progressbarı vertical yapma şansımız yokmu. vertical olarak artmasını istiyorum Vscrool a benzemesini yada.
     

  • Murathan
    20 Ocak 2012 - 00:57 | Permalink

    @merve label1.text ="%" + (progressbar1.value / 100).tostring(); bu sanırım istedigini yapar.
    @berke for döngüsüyle yapabilrsin.örnek
    for(int i = 0, i<100, i++)
    {
    progressbar1.value= i;
    if ( i==99 )
    { i=0 }

  • Bir Cevap Yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    *

    Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    Kullanici Girisi


    Giriş   Facebook Ile Giris Yapin
    k2 belgesi sikiş izleme