Warum wird mein C # -Label-Text nicht aktualisiert?

8

Ich habe ein c # -Programm eingerichtet, das eine Mengeneingabe akzeptieren soll, wenn ein Kontrollkästchen aktiviert ist. Dann multipliziert es die Menge mit dem Preis und aktualisiert das entsprechende Etikett mit den Gesamtkosten.

Wenn ich das Programm ausführe, wird das Etikett jedoch nicht aktualisiert. Ich habe den Debugger ausgeführt und der .text-Wert des Labels im System ist korrekt, aber es erscheint immer noch nicht auf dem tatsächlichen Formular.

Gibt es eine Label-Eigenschaft in Visual Studio, die verhindert, dass Änderungen gerendert werden?

Hier ist das Snippet, das für die Aktualisierung des label.Text-Werts

zuständig ist %Vor%     
jrounsav 01.04.2013, 06:57
quelle

1 Antwort

12

Ohne mehr über die Struktur Ihres Formulars zu wissen, und wie Sie Ihren Code aufrufen, ist es schwierig, Ihnen einen anderen Ratschlag zu geben, als nach dem Festlegen des Texts lblSesameSeedTotal.Refresh() aufzurufen.

Aufruf der Aktualisierung (MSDN Control.Refresh -Link) Es macht das Steuerelement effektiv ungültig und zwingt die Laufzeit, das Steuerelement neu zu zeichnen, das natürlich das Aktualisieren seines Texts enthält.

Es gibt viele Gründe, warum Sie dies tun müssen; Das Neuzeichnen ist eine teure Operation. Wenn Sie also ein Ereignis anderswo auf dem Formular behandeln, werden bestimmte Steuerelemente möglicherweise nicht aktualisiert. Dies gilt insbesondere für Beschriftungen und ähnliche Steuerelemente, deren Werte dazu neigen, konstant zu bleiben (z. B. eine Beschriftung für ein Textfeld mit dem Text: Geben Sie hier den Namen ein, der nicht wirklich geändert werden muss).

    
dash 01.04.2013, 07:24
quelle

Tags und Links