Kuvvet UI iş Parçacığı güncelleştirmek GUI | Netgez.com
SORU
1 EYLÜL 2009, Salı


Kuvvet UI iş Parçacığı güncelleştirmek GUI

Win, nasıl UI iş parçacığı derhal UI bir güncelleştirme zorlamak mı?

Yaptığım kabaca

label.Text = "Please Wait..."
try 
{
    SomewhatLongRunningOperation(); 
}
catch(Exception e)
{
    label.Text = "Error: "   e.Message;
    return;
}
label.Text = "Success!";

Metin etiketi "Bekle..." işleminden önce. Lütfen ayarlamıyor

Operasyon için başka bir iş parçacığı kullanarak çözdüm bu, ama kıllı alır ve kodunu basitleştirmek istiyorum.

CEVAP
2 NİSAN 2010, Cuma


İlk başta ben de merak ettim OP yoktu zaten işaretlenmiş bir yanıt olarak cevap, ama sonra çalışıyor kendim ve hala sahip değil, kazdım biraz daha derin ve buldum orada çok daha fazla bu sorunu ederim ilk gerekiyor.

Daha iyi anlaşılması benzer bir soru okuyarak öğrenilebilir bir: Why won't control update/refresh mid-process

Son olarak, kayıt için, benim etiket aşağıdakileri yaparak güncellemeyi alabildim:

private void SetStatus(string status) 
{
    lblStatus.Text = status;
    lblStatus.Invalidate();
    lblStatus.Update();
    lblStatus.Refresh();
    Application.DoEvents();
}

Anladığım kadarıyla gerçi bunun için zarif ve doğru bir yaklaşım olmaktan çok uzaktır. Çalışmayabilir veya bu hack nasıl meşgul parçacığı büyüklüğüne bağlıdır.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • HSmasteryoda .

    HSmasteryoda

    22 Ocak 2010
  • READ DESCRIPTION NOW!!!!!!!

    READ DESCRIP

    18 ÅžUBAT 2009