Splash Screen dauer??

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von vb-checker.

    Splash Screen dauer??

    Hi,
    ich habe grade ein cooles Programm geschrieben, das einzige Problem: Wie kann ich einstellen wie lange der Splash Screen angezeigt werden soll? In den ca. 3 Sekunden kann man kaum was lesen! Das ist echt wichtig für mich! Wie geht das? :?:
    Ein Splashscreen ist dann sinnvoll, wenn während Form_Load z.B. eine Datenbankverbindung aufgebaut wird und / oder eine DB ausgelesen wird.
    Ein Splashscreen ist nicht dazu da, dass man den Inhalt lesen kann, sondern dass die nicht upgedatete Main-Form unklickbar ist.
    Bau Dir einen Timer rein, der Deinen Anforderungen genehm ist und schließe dann den Splashscreen im Timer_Tick.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Man kann es auch wie Visual Studio machen: Dort wird nach dem Start des Programmes sofort ein zweiter Thread erstellt, in dem der Splashscreen dargestellt wird. Wenn Visual Studio selbst fertig geladen ist, wird der Splash-Screen-Prozess gekillt

    Skybird schrieb:

    Das sind ja Ubisoftmethoden hier !

    Das dürfte ja das Problem sein, dass es dem TE zu schnell geht.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ihr versteht es nicht oder?
    Das ist eine Software, die ich wegen eines Auftrages geschrieben habe! Da kann man nicht einfach so was weglassen! Dieser SplashScreen ist wichtig, und wenn ihr mir keine vernünftige lösung mit diesen Vorrausetzungen sagen wollt, lasst es einfach!
    Und wozu brauchste das? Nenne mir nur einen vernünftigen Grund.

    Ich arte mal mit ein paar Gegenargumeten auf:
    -Hält den Benutzer beim Start auf
    -Ist Unnötig! Nichts wird geladen (vermute ich mal)
    -Warum eine feste Zeitspanne? Ein Splashscreen soll die Zeit überbrücken, die das Programm braucht, um Sachen zu prüfen und Komponenten zu laden. Und das ist bei kleinen Programmen oft schon innerhalb eines Wimpernschlags geschehen.

    Mach das doch mal bitte deinem "Auftraggeber" (mh, lol.) klar.

    btw gewöhn dir mal nen anderen Ton an. So bekommst du erst recht keine Hilfe.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    @Lukas: Manchmal wird beim Corporate Design verlangt, mindestens 10 Sekunden lang den SplashScreen zu zeigen. (Schon erlebt)
    Alles in allem isses wieder mal eine unnötige Diskussion. Die Fragestellung ist klar, die Antworten sind weit daneben.

    Topic: In den Ereignissen deines Projekts den Splashscreen auswählen, dann auf die Schaltfläche "Anwendungsereignisse anzeigen"
    Im dort erscheinenden Codefenster fügst du folgenden Code ein:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Partial Friend Class MyApplication
    2. Protected Overrides Function OnInitialize(ByVal commandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String)) As Boolean
    3. 'Anzeigedauer des Splashscreens auf eine beliebige Zeit setzen,
    4. 'in diesem Beispiel auf 10 Sekunden.
    5. Me.MinimumSplashScreenDisplayTime = 10000
    6. Return MyBase.OnInitialize(commandLineArgs)
    7. End Function
    8. End Class

    Quelle: der erste Link, der bei Google erschien, bei "Splash Screen Dauer" (deiner Überschrift)
    dotnet-snippets.de/dns/anzeige…-beeinflussen-SID669.aspx
    Bilder
    • 1.JPG

      88,82 kB, 949×676, 1.054 mal angesehen
    @der_Kurt: Warum sollten wir ihm solche Ratschläge vorenthalten? Corporate Design hin oder her, ich bezweifle, dass hier eines vorhanden ist. Ein kurzer Splashscreen mit dem Logo für 1-2 Sekunden ok, aber nicht mehr Zeit dafür, das im Hintergrund nichts abläuft, was von Belang ist.

    Man sollte auch bedenken, dass man nach Programmstart oft so schnell wie möglich anfangen will. Sowas ist, in meinen Augen, einfach nur lästig.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Ich denke auch nicht dass es sich um ein Corporate Design handelt, immerhin hat der TE ja

    Joey schrieb:

    [...] ein cooles Programm geschrieben [...]



    Programme sind in der Regel nicht cool, sondern erfüllen ihre Funktion. Script Kiddies schreiben coole Programme die keinen Sinn haben und dort muss natürlich auch ein Slash Screen rein, weil es ja professionell und cool aussehen muss, als ob es das non plus ultra Programm ist.
    Abgesehen davon ist meines Wissens der Splashscreen, welcher angezeigt wird, oft mit den selben Infos befüllt welche man im ?->Info findet. (Versionsnummer, geladene dlls, etc.)
    Eventuell reicht das auch aus.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten

    Joey schrieb:

    ich habe grade ein cooles Programm geschrieben

    zeugt nicht von einem Corporate Design.
    @der_Kurt: Super Lösung, auch wenn sie mir momentan wenig nützt (C++-DLL).
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    der_Kurt schrieb:

    Quelle: der erste Link, der bei Google erschien, bei "Splash Screen Dauer" (deiner Überschrift)
    Ich hoffe, @Joey versteht diesen Wink mit dem Zaunpfahl. (Wird er eh nicht)

    Skybird schrieb:

    Das sind ja Ubisoftmethoden hier !