none
Programm Schliessen RRS feed

  • Frage

  • Hallo

    Wie kann ich den Befehl geben, was passiert wenn ich das Schliessenkreuz obenrechts klicke?
    z.B. Dass wenn man das Programm oben rechts schliessen möchte, dass der PC runtergefahren wird oder so...
    LG Yves Riedener
    Donnerstag, 4. März 2010 17:54

Antworten

  • Hallo Yves,

    schau Dir dazu das FormClosing Ereignis an. Über die EventArgs wird Dir in der Eigenschaft CloseReason der Grund geliefert, warum das Formular geschlossen wird. Das Fenstermenü "Schließen" [X] entspricht dabei dem Wert CloseReason .UserClosing.

    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Donnerstag, 4. März 2010 18:22
    Moderator
  • Hallo Yves,

    wenn ein Fenster geschlossen wird, wird das FormClosing -Event ausgelöst.
    Das heisst aber noch nicht, das auch das ganze Programm zwangsläufig geschlossen wird.
    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Donnerstag, 4. März 2010 18:10
  • Hallo Yves,

    dann blendest Du das Formular über die Hide Methode aus und setzt e.Cancel im FormClosing Event auf 'True', damit das Schließen des Formulars abgebrochen wird. Wäre jetzt natürlich klug, wenn es weiterhin eine Möglichkeit gäbe, das Formular zum Programm aufrufen zu können. Das kannst Du bspw. durch ein NotifyIcon im Infobereich der Taskleiste anbringst und dort das Formular via Show Methode wieder anzeigst.
    Thorsten Dörfler
    Microsoft MVP Visual Basic
    • Als Antwort markiert Yves Riedener Sonntag, 7. März 2010 15:06
    Freitag, 5. März 2010 20:49
    Moderator

Alle Antworten

  • Hallo Yves,

    wenn ein Fenster geschlossen wird, wird das FormClosing -Event ausgelöst.
    Das heisst aber noch nicht, das auch das ganze Programm zwangsläufig geschlossen wird.
    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Donnerstag, 4. März 2010 18:10
  • Hallo Yves,

    schau Dir dazu das FormClosing Ereignis an. Über die EventArgs wird Dir in der Eigenschaft CloseReason der Grund geliefert, warum das Formular geschlossen wird. Das Fenstermenü "Schließen" [X] entspricht dabei dem Wert CloseReason .UserClosing.

    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Donnerstag, 4. März 2010 18:22
    Moderator
  • Gut, vielen Dank, kann ich aber das Programm dann auch als Prozess weiterlaufen lassen, dass man es nicht in der Startleiste sieht?
    LG Yves Riedener
    Freitag, 5. März 2010 15:33
  • Hallo Yves,

    was genau möchtest Du?
    Startleiste ist "bloß" das links, wo die Links zu bekannten Programmen auftauchen. Meinst Du vielleicht doch eher die unter Taskleiste, wo die geöffneten Fenster (nicht Programmme!) erscheinen?
    Soll das Programm als Dienst ohne eine GUI laufen?
    Soll es ein Fenster geben, das bloß nicht in der Taskleiste erscheint, dafür aber vielleicht ein Icon in der SysTray?
    Soll es .....?
    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Freitag, 5. März 2010 18:32
  • Hallo Yves,

    dann blendest Du das Formular über die Hide Methode aus und setzt e.Cancel im FormClosing Event auf 'True', damit das Schließen des Formulars abgebrochen wird. Wäre jetzt natürlich klug, wenn es weiterhin eine Möglichkeit gäbe, das Formular zum Programm aufrufen zu können. Das kannst Du bspw. durch ein NotifyIcon im Infobereich der Taskleiste anbringst und dort das Formular via Show Methode wieder anzeigst.
    Thorsten Dörfler
    Microsoft MVP Visual Basic
    • Als Antwort markiert Yves Riedener Sonntag, 7. März 2010 15:06
    Freitag, 5. März 2010 20:49
    Moderator