Form1 macht Form2 auf, Klick in Form1 soll Form2 schließen und neu öffnen

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

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

    Form1 macht Form2 auf, Klick in Form1 soll Form2 schließen und neu öffnen

    Hallo,

    Ich versuche gerade über Form 1 per Klick auf ein DGV eine Form 2 zu öffnen (mit detaillierten Infos ets.)
    Klicke ich im Form 1 erneut im DGV auf eine andere Position, soll sich das Form 2 schließen und es wird neu geöffnet (mit anderen Daten dann geladen).

    So mein Ansatz:

    VB.NET-Quellcode

    1. Private _nw As New Messwerte_Details_01
    2. Private Sub DetailsForm()
    3. Try
    4. If FormIsLoaded("Messwerte_Details_01") = True Then
    5. _nw.Close()
    6. End If
    7. If DGV_Messwerte.SelectedRows.Count = 1 Then
    8. _nw._VorgangID = CInt(DGV_Messwerte.CurrentRow.Cells(0).Value)
    9. _nw._VAID = CInt(DGV_Messwerte.CurrentRow.Cells(5).Value)
    10. _nw.Show()
    11. End If
    12. Catch ex As Exception
    13. MessageBox.Show(ex.Message & vbCrLf & ex.StackTrace, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error)
    14. End Try
    15. End Sub


    Hier kommt aber dann beim erneuten öffnen des Forms 2 der Fehler: "Auf das verworfene Objekt kann nicht zugegriffen werden."

    Vielleicht habt Ihr eine Idee wie ich das lösen könnte? Hab gerade einen halben BlackOut :)

    Viele Grüße M
    Du musst nach Zeile#9 _nw neu erstellen, also _nw = New Messwerte_Details_01
    Ein geschlossenes Form ist (entsprechend der Fehlermeldung) nicht mehr zu verwenden.

    Was steckt codetechnisch hinter FormIsLoaded?

    btw: If FormIsLoaded("Messwerte_Details_01") = True: Boolean-Vergleiche mit True sind überflüssig.
    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.
    Moin moin

    Wäre es nicht besser, das 2te Form nicht Modal zu machen, es dann einfach in den Hintergrund bringen und dann beim klick in Form1 die neuen Daten laden zu lassen usw...?
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:
    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!