WinForms

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

4/5 - (2 votes)

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:



This post has been seen 563 times.
Be the First to comment.

Leave a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir