2 Stimmen

Text des Labels nicht aktualisiert

Ich habe ein Windows-Formular mit einer Statusleiste, die den aktuellen Zustand der Anwendung anzeigt. Ich habe eine Klasse namens AppState, die das Label in der Statusleiste aktualisiert und im Dispos-Methode den Zustand auf "Bereit" zurücksetzt.

Im Code, wenn ich eine Operation wie diese durchführe:

using (AppState state = new AppState("Verarbeitung..."))
{
     //Führe einige Arbeiten aus, die einige Sekunden dauern
}

Aber das Label bleibt gleich. Es treten keine Ausnahmen auf. Der Label-Text wird aktualisiert, aber in der Benutzeroberfläche wird weiterhin der vorherige Wert angezeigt. Fehlt mir etwas?

santosc du hast recht, das ist das Einzige, was ich mache. Hier ist der AppState-Code

public class AppState : IDisposable
{
    static string Default = "Bereit";

    public AppState(string status)
    {
        Form.StatusLabel.Text = status;
    }

    public void Dispose()
    {
        Form.StatusLabel.Text = Default;
    }
}

0voto

user3389579 Punkte 261

Verwende Label.Refresh(); es spart viel Zeit. Das sollte für dich funktionieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X