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;
}
}