Form schließen über Button bzw. Rotes "x"

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von bodo85.

    Form schließen über Button bzw. Rotes "x"

    Guten Abend Community,

    ich habe ein Problem beim Schließen einer Form.
    Ich möchte die Form entweder mithilfe eines Button oder durch Klicken auf das rote X schließen können.
    Außerdem soll dabei noch eine Art Sicherheitsfrage kommen.

    Der Fehler ist nun, dass ich die Abfrage mehrmals hintereinander bekommen. UNd wenn ich bei der Abfrage auf Nein klicke, wird trotzdem die Form geschlossen...

    Hier ist mein Auschnitt vom Code:

    VB.NET-Quellcode

    1. 'Schließen - Menü
    2. Private Sub SchließenToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SchließenToolStripMenuItem.Click
    3. Me.Close()
    4. End Sub
    5. 'Schließen - Button
    6. Private Sub BtnBeenden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBeenden.Click
    7. Me.Close()
    8. End Sub
    9. Private Sub ClientVerwalten_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
    10. If MsgBox("Wollen Sie wirklich das Programm verlassen?", MsgBoxStyle.YesNo + vbQuestion, "Programm verlassen?") = MsgBoxResult.Yes Then
    11. alleT.Enabled = True
    12. alleT.Focus()
    13. Me.Close()
    14. End If
    15. End Sub



    Wie kann ich das Problem lösen? Jemand eine Idee?


    Vielen Dank schon mal an Euch und eine gute Nacht!


    P.S: Bitte verschieben, wenn falsche Forum
    Du musst das Event FormClosing anstatt FormClosed nehmen

    VB.NET-Quellcode

    1. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    2. If MessageBox.Show("Schließen?", "Close", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.No Then
    3. e.Cancel = True
    4. End If
    5. End Sub

    bodo85 schrieb:


    VB.NET-Quellcode

    1. Private Sub ClientVerwalten_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
    2. If MsgBox("Wollen Sie wirklich das Programm verlassen?", MsgBoxStyle.YesNo + vbQuestion, "Programm verlassen?") = MsgBoxResult.Yes Then
    3. alleT.Enabled = True
    4. alleT.Focus()
    5. Me.Close()
    6. End If
    7. End Sub


    Dein Problem ist das du nur das "Yes" verwendest ,Probier es mal so:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. If MsgBox("schließen ja nein", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
    3. Me.Close()
    4. Else
    5. End If


    lg
    Nsjdvv