/ / Nie je možné nastaviť hodnotu štítku vo winformoch - c #, asp.net, winforms, wcf

Hodnotu štítku nie je možné nastaviť v súboroch winforms - c #, asp.net, winforms, wcf

Snažím sa zobraziť správu na štítku, ktorýpochádza zo spätného volania WCF. Môj štítok je v aplikácii formulára systému Windows. Problém je v tom, že štítok sa pri spustení spätného volania nenastavuje. Skúšal som namiesto štítku použiť schránku na správy a funguje to. Nie je možné zobraziť veľa kódu. Tu je funkcia spätného volania.

    public void GetData(string message)
{
label1.Text = message;      // This doesn"t work
MessageBox.Show(message);   // This works fine
}

Môže niekto povedať, prečo sa štítok vo funkcii spätného volania nenastavuje.

odpovede:

0 pre odpoveď č. 1

Udalosť spätného volania sa aktivuje non-GUI vlákno a máte prístup GUI ovládacích prvkov vo vlákne GUI, kto ich vytvoril. Na prístup ku kontrole môžete použiť Control.Invoke s MethodInvoker (label) v obsluhe udalosti spätného volania.

public void GetData(string message)
{
label1.Invoke((MethodInvoker) delegate
{
label1.Text = message;
});
MessageBox.Show(message);
}