WinForms

Winform C# .Net uygulamaların label kontrolünün güncellenmeme sorunu ve çözümü

Winform C# .Net uygulamaların label kontrolünün güncellenmeme sorunu ve çözümü
4 (80%) 2 votes
Bu yazı 207 kere görüntülenmiştir.

Merhaba bugün sizlere Visual Studio ile WinForm uygulama yaparken label kontrolü kullandığımda karşılaştığım ve çözmüş olduğum bir konuyu paylaşacağım.

Uygulamam diskteki tüm dosyaları traverse yöntemi ile gezip bir yandan havuzu doldurup bir yandan da havuzu boşaltan mantıkta çalışan bir thread yapısı ile çalışıyor. Her bulunan dosya için bir methoda dosya paramatre geçiliyor, bittiğinde ise aşağıdaki method çağrılıyor.

 

Yukarıdaki kod 1 saniyede 1000 den fazla kez çağrıldığında ilk defada sorunsuz çalıştı , fakat butona basıp tekrar çalıştırdığımda takıldı kaldı. Güncelleme kısmında sorunlar yaşamaya başladı , titremeler yada sabit kalmalar vs vs. Dış kaynak araştırması yaptığımda label.update() gibi kodlar gördüm. Tavsiye edilen yöntemleri uyguladım fakat sonuç değişmedi.

Mantıken düşündüğümde Windows kontrolünün label kontrolünü güncellemeye yetişemediği ve olay kuyruğunda bir yığılma olduğu ve güncellemeleri üstüste bindirdiği izlenimine kapıldım.

Çözümü kendim ürettim buyrun çözümümüz.. Bir task ürettim ve task bitene kadar sonraki gelen güncelleme isteklerini görmezden geldim.

İnsan gözü en fazla kaç kare görebilirdi ki zaten bir saniyede, 30 FPS ve altı ideal :)))

 

 

Yabancı kaynaklarda C# Label Text Not Updating,  Label not updating olarak ismi geçen konunun çözümü yukarıdadır 🙂 Umarım faydalı olmuşumdur.

Hayırla kalın Fi Emanillah.

Benzer Yazılar:

İlk yorum yazan sen ol.

Yorum yap

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