Alle Formen außer eine schließen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Alle Formen außer eine schließen

    Huhu mal wieder...

    kommen wir dierekt auf den Punkt:

    Ich habe eine Form und wenn ich auf einen Knopf drücke sollen alle Formen außer diese eine Form sich schließen Problem:

    Ich erstelle manche Formen mehrmals also

    VB.NET-Quellcode

    1. Dim form1 as new Form1
    2. Dim form2 as new Form1
    3. form1.show
    4. form2.show


    Daher kann ich nicht einfach folgendes tun:

    VB.NET-Quellcode

    1. form1.close


    Danke für jede hilfe!
    Hab's problem selber gelöst ich mache in die Formen jewails ne clock die alle paar sekunden überprüft ob My.Settings.CloseAll auf true ist und dann das Fenster jewails schließt!
    Und true wird zurückgesetzt auf false wenn ca 5 sekunden vergangen sind!

    SpieleArenaORG schrieb:

    VB.NET-Quellcode

    1. My.Settings.CloseAll
    Außerordentlich suboptimal und unperformant. Sieh Dir mal dies an:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Dim dlg = New Form2
    3. dlg.Show()
    4. End Sub
    5. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    6. For i = Application.OpenForms.Count - 1 To 1 Step -1 ' 0 ist die MainForm
    7. If Application.OpenForms(i).GetType() = GetType(Form2) Then
    8. Application.OpenForms(i).Close()
    9. End If
    10. Next
    11. End Sub

    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!