Programm ohne optische Nebenerscheinung beenden

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von VaporiZed.

    Programm ohne optische Nebenerscheinung beenden

    Ich habe ein Programm, das wird entweder vom Benutzer gestartet (mit Oberfläche Form1), oder über die Aufgabenplanung.

    Wenn eine Aufgabe zu erledigen ist, startet in Form1_Load die Form2.
    Wenn bei Form2 der Bestätigung Butten gerückt wurde, beendete Form1 das Programm.
    Beim Beenden blitze aber kurz Form1 auf.
    Habe das jetzt so geändert das Form1_Load dann nochmal Form2 mit dem Befehll das Programm zu beenden aufruft.
    Dann schließt sich Form2 und es blitzt kurz ein kleines transparentes Fenster mit Titelleiste auf, in der
    "Microsoft NET Framework" steht.

    Wie kann erreichen, dass sich das Programm ohne Nebenerscheinungen beendet?
    Kannst du ein kleines Testprojekt angelegen, bzw. Beispielcode zeigen, damit wir das nachstellen können?

    Vermutlich liegt es an irgendwas, dass du Programmiert hast. Aber dabei können wir dir ja nicht einfach so helfen, wenn wir nicht sehen was du gemacht hast. Also bitte in einem kleinen Testprojekt nachstellen und uns zeigen.
    Interessant. Habe ein sehr ähnlich ablaufendes Programm, ein Aufgaben-Erinnerungsprogramm. Wird es manuell gestartet, gibt's nen Editor. Wird's per Aufgabenplanung gestartet, wird geschaut, ob es Erinnerungen für den laufenden Tag gibt. Wenn ja, werden die angezeigt. Ansonsten schließt sich das Programm geräuschlos und unsichtbar. Ich hab das so gemacht, dass eben im MainForm_Load-EventHandler geschaut wird, ob Erinnerungen da sind, dann werden eben jene gezeigt. Danach wird - egal, ob etwas zu tun war - MainForm.Close aufgerufen und das MainForm wird so nie sichtbar. Auch kein Flackern oder ähnliches.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Bluespide schrieb:

    Kannst du ein kleines Testprojekt angelegen, bzw. Beispielcode zeigen, damit wir das nachstellen können?


    Werde ich machen, aber vermutlich nicht mehr heute.
    Werde ich nun nicht mehr machen. Habe das Problem gelöst, siehe nächsten Eintrag.

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

    VaporiZed schrieb:

    ob es Erinnerungen für den laufenden Tag gibt.


    Das Problem habe ich noch gestern gelöst.
    Meins startet beim Anmelden, um zu sehen, ob Erinnerungen verpasst wurden, weil der Rechner aus war.
    Wobei ich das noch von Hand in die Aufgabenplanung eingetragen habe. Muß noch suchen ob ich da die Richtigen Anweisungen finde.
    Jede Erinnerung hat einen Termin und Grund. Wenn gewünscht, noch eine Vorwarnung und ein Intervall.
    Bei einem Geburtstag, wo ich nur anrufe, reicht die Erinnerung zu einer vernünftigen Uhrzeit. Wo ich noch ein Geschenk besorgen muss, gebe ich als Vorwarnung eine Woche ein.
    Und bei einem Geburtstag ein Intervall von einem Jahr, sodass nach der Erinnerung eine neue ein Jahr später eingetragen wird.
    Um die Aufgabenplanung nicht mit Aufgaben für die nächsten x Jahre vollzuschreiben wird nur die nächste Erinnerung eingetragen und dann halt wieder die nächste.

    Zur Lösung: ursprünglich stand in Form2 Application.Exit().
    Jetzt steht da Form1.Close() und Me.Close().
    Nun wird das Programm ohne optische Nebenerscheinungen beendet.
    Bei mir reicht eben das Me.Close im MainForm, weil sich ja das Erinnerungsform eh schließt, sobald ich alle Erinnerungen für den heutigen Tag durchgearbeitetklickt habe.

    Ja, ich sehe, dass wir unabhängig voneinander zu ähnlichen Programm-Ablauf-Lösungen gekommen sind. Auch bei mir wird automatisch erst dann eine neue Erinnerung generiert, wenn die alte erledigt ist. Für die Arbeit habe ich noch eine Option eingebaut, dass Erinnerungen vor Sonn- und Feiertagen ggf. vor Fälligkeit schon angezeigt werden. Desweiteren 2 Optionen: Erinner mich in x Stunden nochmal und Erinner mich morgen nochmal - wobei letztere Option bei neuer Erinnerungserstellung auch deaktiviert werden kann.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.