Announcement

Collapse
No announcement yet.

Form Close Event

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Form Close Event

    Guten Abend

    Ich arbeite mit VS 2005. Ich möchte einen Code ausführen sobald meine Main Form geschlossen wird. Sei dies über den Aufruf von Close() oder mittels klick auf das X. Irgendwie bekomme ich dies einfach nicht hin. Kann jemand eventuell ein Code Snippet posten? Danke für Eure Hilfe.

    Gruss

    Karsten Burger

  • #2
    Hallo Karsten,
    am einfachsten behandelst Du für das Formular das Closing-Event, das beim Schliessen 'gefeuert' wird. Im Event-Handler kann dann der gewünschte Code abgelegt werden.
    <br>
    Beispiel für ein Rechnungsformular:
    <br>
    private void Rechnung_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
    // Daten mit letztem gespeicherten Stand vergleichen
    if(HeaderChanged() || rechBody.modified)
    {
    e.Cancel = MessageBox.Show("Letzte Änderungen wurden nicht gespeichert!\nTrotzdem beenden?","Bestätigen",
    MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No;
    }
    }
    <br>
    Gruss, Brun

    Comment


    • #3
      Danke für Die Antwort.

      Ich habe die Methode mal in meinen Code kopiert und darinn einen Debugger Haltepunkt gesetzt. Leider wird dieser nicht ausgeführt. Muss ich sonst noch was ändern?

      Dank

      Comment


      • #4
        Hallo Karsten,<br>
        Du musst den Eventhandler natürlich mit dem Event verknüpfen, wie z.B. beim Click-Event für Buttons.
        Im Visual Studio gehst Du folgendermassen vor:
        1.) Formular im Designer aktivieren
        2.) Im Eigenschaftenfenster Events auswählen
        3.) In Event-Liste Doppelklick auf FormClosing
        Damit wird eine Methode im Code erzeugt, die mit dem Closing Event verknüpft ist. Darin kann der gewünschte Code abgelegt werden. Mit e.Cancel = true; kann zB das Schliessen in bestimmten Fällen verhindert werden.<br>
        Gruss, Brun

        Comment


        • #5
          Danke, hatte ich ganz vergessen. Hat nun geklappt

          Comment

          Working...
          X