[C#] Applikationslade Icon

corey

Ensign
Registriert
März 2005
Beiträge
254
Hi ,

Ich möchte beim Start meiner Applikation ein Icon bringen + irgendeine Progressbar, die den Ladestatus anzeigt. Wie kann ich dies realisieren, damit die Progressbar auch wirklich der momentane Ladezustand anzeigt?

Vielen Dank.

Gruss

corey
 
Du willst also ein SplashScreen machen, oder hab ich das was falsch verstanden?
 
Hallo corey,

- Lege ein TopLevel Window an
- Zeige darin ein Icon an
- Setze eine Progressbar in das Fenster

Und für den aktuellen Zustand der ProgressBar ist das Programm selber verantwortlich.
Im wesentlichen hilft da nur selber programmieren.

Damit der aktuelle Zustand sichtbar wird, muss der Splashscreen eine eigene Paintroutine für das Fenster haben.

Ausserdem muss er Nachrichten empfangen können. Entweder über Windows Messages oder eben über einen selber definierten Weg.

D.h. wenn in der Laderoutine sich etwas ändert schickt diese eine Nachricht an den Splashscreen, das dieser seinen Progressbar aktualisieren soll.

Wie gesagt selbst ist der Mann :-).

MfG

Arnd
 
Also ich habe es wie folgt gelöst:

Ich habe eine neue Form mit einem Progressbar und einer Listbox erstellt, die nachher als Splashscreen auftauchen soll. In der Listbox sollen dann nachher Statusmeldungen angezeigt werden.

Beim Programmstart erstelle ich nun zwei Threads. Im Ersten wird die Hauptform des Programms aufgerufen und im Zweiten der Splash-Screen.

Die Hauptform schalte ich zuerst auf invisible. Zu sehen ist also nur der Splash-Screen. Dieser stellt der Hauptform eine Methode zur Verfügung, der man einen beliebigen Statustext und einen Wet von 0-100 übergeben kann.

Jetzt kann man während der initiallisierung der Hauptform an den wichtigen Stellen immer diese Methode Aufrufen und den Splash-Screen somit aktualisieren.

Wenn die Mainform fertig initiallisiert ist schaltet man sie auf visible und man schließt die Splash-Screen Form.


Wichtig bei der ganzen Sache ist einfach nur, dass du mit Thread arbeiten musst. Anders wirst du den Splash-Screen nicht aktuallisiert bekommen. Mit Timern funktioniert das nicht.
 
Ja, ein Splashscreen. Das Wort fehlte mir. Vielen Dank für eure Antworten. Das mit den zwei Threads hat mir geholfen:)

gruss corey
 
Vielen Dank für den guten Link.


Corey
 
Zurück
Oben