Oca 22

C#’da ‘Lütfen Bekleyin’ Formu Thread Kullanarak

Merhaba arkadaşlar, bu yazımda sizlere çok basit ama beni biraz uğraştıran (araştırma aşamasında) ama yazılıma görsellik vkatan ve kullanıcıyla etkileşimi üst seviyede tutacak basit bir form’dan bahsedeceğim. Formda ‘Lütfen bekleyin’ yazısı(Label) ve altında basitçe bir gif(ImageBox) resmi olacak. Önce formu oluşturalım aşağıda görüntüsünü veriyorum ve altında da imagebox içindeki gif resmini paylaşıyorum.

Form

bekle

Gif (ImageBox içerisine yerleştirin)

wait

Bu formu oluşturduktan sonra her nerede uzun süren bir işleminiz var ise orada thread class’ından bir nesne türetin. Aşağıdaki gibi;

 Thread thread1;

Sonrasında hangi olay uzun sürüyorsa o olayın başına (Button click ise buton click’in en üstüne gelip )

thread1 = new Thread(new ThreadStart(islem)); //islem bir fonksiyondur. Tanımlanacak.

yukarıda tanımlamış olduğumuz thread’e bir fonksiyon atamış olduk. Thread’ler bilindiği üzere paralel devam eden işlerdir. Aynı anda birden çok işlem yapmanız gerekiyorsa thread’leri kullanarak işlerin beraber yürütülmesini sağlayabilirsiniz.

thread1.Start(); //threadi başlatıyoruz.

Şimde de sıra thread içerisinde yer alan ‘islem ‘fonksiyonunu tanımlamaya geldi.

public void islem()
{
beklemeformu.ShowDialog();
}

Basitçe fonksiyonu tanımadık ve showdialog() diyerek beklemeformunun açılmasını sağladık. Burada şuna da deyinmek istiyorum. Eğer show deseydik arkada kalan form da aktif olurdu bekleme formu yapmanın bir anlamı kalmazdı. İşlerin tamamlanmasının beklenmesi gerektiğinden öne çıkan formu öncelikli yaptık.

Daha sonra da işlemin bittiği yere de (Buttonclick’deki uzun süren kod yığınının altına gelip)

thread1.Abort();

koduyla thread’i sonlandırıyoruz.

1 yorum

  1. This is exactly what I was looking for. Thanks for wrntiig!

Bir Cevap Yazın