5 Sekunden nach Start der Form Aktion ausführen

  • VB.NET

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von FreakJNS.

    5 Sekunden nach Start der Form Aktion ausführen

    Hallo,
    ich habe bisher, wenn ich etwas 5 Sekunden nach starteten der Form machen wollte, einfach nen Timer genommen, der sich dann selbst Stoppt. Gibt es da auch noch andere Möglichkeiten? Threading.Thread.Sleep
    kenne ich schon, aber das lässt die Form einfrieren. Man kann es zwar in nen BGW machen, aber dann wäre ein Timer wohl doch einfacher.

    Würde mich freuen, wenn es noch eine andere Möglichkeit gibt (mit möglichst wenig Code!).
    Mfg
    Vincent

    Die Frage ist: Was willst du damit bezwecken?
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Nein, das Problem ist:

    Es wird bei meinem Programm ein externes Programm gestartet und ausgelesen. Aber erst nach ungefähr 5 Sekunden erscheint dann, ob ein neues Update verfügbar ist oder nicht (in der Ausgabe).
    Mfg
    Vincent

    Was für eine Ausgabe? Wird eine Datei geschrieben? oder geändert?

    Wenn ja... Dafür gibts nen Event was man abfragen kann.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Ich wollte eigentlich nur wissen, ob es dafür ne Funktion gibt, ich hätte mir dass dann ungefähr so Vorgestellt:

    VB.NET-Quellcode

    1. AddHandler Threading.Thread.WaitAsyc(5000), AddressOf Meine Sub
    Mfg
    Vincent

    Mit Async kein Problem, auch wenn es ein seltsames Konstrukt bleibt:

    VB.NET-Quellcode

    1. Await Task.Run(Sub() System.Threading.Thread.Sleep(5000))
    2. MessageBox.Show("test")

    (Ist eigentlich in C# geschrieben, die Übersetzung ist geraten)

    Kleine Anmerkung noch: Was willst du mit sowas bezwecken? Wir hatten diese Frage schon oft und ich kann mich an keinen Fragesteller erinnern, der damit etwas sinnvolles machen wollte. Lässt sich da nicht vielleicht etwas besseres finden?
    „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.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Lukas“ ()

    Nun gut, dann will ich das mal erklären.

    Ich habe vor langer Zeit mal nen Minecraft Server Launcher programmiert (keine Angst, ich will den nicht veröffentlichen), denn ich gerade aus Langeweile mal son bisschen update. Nachdem man den Server gestartet hat kommt erstmal der ganze Müll und dann kommt, wenn eine neue Version verfügbar ist, a new version is available... Und dass ist dann nach 5 Sekunden da. Deswegen darf ich erst nach 5 Sekunden anfangen zu suchen.
    Mfg
    Vincent

    Warum den Threading-Timer? Dafür reicht der Form-Timer doch völlig aus.
    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!
    Ok, also ziehe ich daraus als Fazit, dass ich weiterhin den Timer benutzen, oder die Lösung von Lukas nehmen muss. Die Lösung von Lukas funktioniert zwar, aber auch nur einmal. Trotzdem danke an alle :)
    Mfg
    Vincent