Frage

Wenn meine app starten ich zunächst in einige Daten lesen müssen, haben einige Formen init und so weiter. Zu diesem Zeitpunkt sieht der Benutzer nur grau etwas Formen zu zeigen Einstiegs- bereit.

Das dauert ein paar Sekunden ...

Ich dachte an einen Splash-Screen, der die Daten in einem separaten Thread lädt und zeigt auch, wie lange es dauern wird. Oder nur ein Statusleiste?

Wie würden Sie so etwas tun?

Ich bin mit C # .NET 3.5 + WinForms

War es hilfreich?

Lösung

Mit Windows, desto leichter ist Backgroundworker zu verwenden.

Sie können deaktiviert Kontrollen beim Laden und Anzeigen einen Fortschrittsbalken auf startus bar mit Etikett als „Laden von Daten ...“.

MSDN Link: http://msdn.microsoft. com / en-us / library / system.componentmodel.backgroundworker.aspx

Andere Tipps

Sehen Sie diesen Artikel Codeproject: A Pretty Good Splash Screen in C #

Es implementiert einen Splash-Screen, dass:

  • Läuft auf einem separaten Thread
  • Fades in wie es scheint, und ausgeblendet, wie es verschwindet
  • Zeigt eine laufende Statusmeldung, die eine statische Methode aktualisiert wird mit
  • Displays und Aktualisieren eines prädiktiven Selbstkalibrierungs Ownerdrawn-smooth-Gradienten Fortschrittsbalken
  • Zeigt die Anzahl der verbleibenden Sekunden vor Last abgeschlossen ist

Hier ist ein Beispiel dafür, wie es aussieht - vielleicht wird dein schöner sein. 8 -)

alt text

Wenn es dauert nur ein paar Sekunden, dann die Wartezeit anzeigt Cursor sollte in Ordnung sein. Vielleicht kann es, dass die angeordnet werden, Hauptfenster wird so schnell wie möglich dargestellt und der Rest ist nach dem ersten Bildschirmaktualisierung gestartet wird (beispielsweise unter Verwendung eines Timers). Dadurch verringert sich die wahrgenommen Start-up-Zeit.

Um die Startzeit zu reduzieren Sie auch prüfen können einige Aktionen während des Starts zu verschieben, wenn sie nicht streng sind notwendig. Es kann später im Hintergrund durchgeführt wird unter Verwendung eines Timer oder auf Abruf bereitgestellt werden.

Ich schrieb vor kurzem ein ähnliches Splash-Screen als Basis mit Tom Clements. Schauen Sie sich auf My Splash Screen zu sehen, ob es Ihren Bedürfnissen entspricht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top