Nicht warum mein C# label text Wert aktualisieren?
Ich habe ein c# Programm, dass angeblich zu akzeptieren, eine Menge input, wenn eine checkbox aktiviert ist. Dann multipliziert die Menge mit dem Preis und den updates das entsprechende Etikett mit den Gesamtkosten.
Allerdings, wenn ich das Programm ausführen, es aktualisiert sich nicht das Etikett. Ich lief den debugger und das label .text-Wert im system korrekt ist, aber es noch nicht in der eigentlichen form.
Gibt es eine label-Eigenschaft in Visual Studio, die verhindert, dass änderungen gerendert wird?
hier ist das snippet verantwortlich für die Aktualisierung der Beschriftung.Text Wert
if (chkSesame.Checked)
{
intSesameQty = Convert.ToInt32(txtSesameQty.Text);
decSesameTotal = intSesameQty * decBAGEL_PRICE;
lblSesameSeedTotal.Text = decSesameTotal.ToString("c");
}
- Stellen Sie sicher, Sie sind nicht das zurücksetzen der Wert
lblSesameSeedTotal.Text
später in Ihrem code, auch, welche Art von Anwendung sind Sie targeting winfomr, wpf ? web ? - winform, und ich finde keine code überschreiben den text 🙁
- In Ergänzung zu @Habib ' s nützliche Ratschläge, nicht aufrufen
lblSesameSeedTotal.Refresh()
nach Einstellung wird der text mit dem Wert helfen? - Aktualisieren Sie vollständig das Problem behoben! Ich danke Ihnen beiden sehr viel
- Sind Sie mit einer update-panel?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ohne zu wissen, mehr über die Struktur Ihre form, und wie man Sie ruft Ihren code, es ist schwer zu geben Sie anderen Ratschläge zu anderen als zu versuchen, rufen
lblSesameSeedTotal.Refresh()
nach Einstellung der text.Aufrufen von Refresh (MSDN Kontrolle.Aktualisieren link) wirksam wird, erlischt die Kontroll-und zwingt die runtime neu zu zeichnen, die Kontrolle, die, natürlich, beinhaltet die Aktualisierung Ihrer Texte.
Es gibt viele Gründe, warum Sie müssen dies tun; Neuzeichnen ist ein teurer Vorgang ist, so, im Allgemeinen, wenn Sie ein Ereignis verarbeiten, die an anderer Stelle auf der form, kann es nicht aktualisieren bestimmte Steuerelemente. Dies gilt insbesondere für Etiketten und ähnliche Steuerelemente, deren Werte tendenziell konstant bleiben (z.B. ein label, eine textbox mit dem text: Geben Sie Hier den Namen nicht wirklich ändern zu müssen).