Modale Form schließt nicht richtig

  • VB.NET
  • .NET (FX) 4.0

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

    Modale Form schließt nicht richtig

    Folgendes Problem:
    Aus frm_min rufe ich die frm_fullinfo Form aus einer Zeile des Listview auf. Beim ersten klick auf den Schließen Button der frm_fullinfo Form schließt das Fenster sofort.
    Rufe ich die frm_fullinfo Form erneut auf muss ich immer zwei (2) Mal auf den Schließen Button klicken bevor die Form schließt. ?(

    Dialoge: Instanziierung von Forms und Aufruf von Dialogen: Habe ich gelesen aber ehrlich gesagt ist das nicht sehr verständlich.


    frm_main Das Aufrufende

    VB.NET-Quellcode

    1. Private Sub lst_view_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lst_view.SelectedIndexChanged
    2. Dim frm As New frm_fullinfo
    3. frm_fullinfo.ShowDialog(Me) ' ob mit (Me) oder so () ist gleiches Verhalten
    4. End Sub


    frm_fullinfo Das aufgerufene

    VB.NET-Quellcode

    1. Private Sub frm_fullinfo_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
    2. ' Dim btn_close As New Button()
    3. ' AddHandler btn_close.Click, AddressOf btn_close_Click ' <=======DAS BRACHTE AUCH NICHTS !!
    4. '
    5. End Sub
    6. Private Sub btn_close_Click(sender As Object, e As EventArgs) Handles btn_close.Click
    7. Me.Close()
    8. End Sub
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:
    @Amelie Unterscheide zwischen Klassen und deren Instanzen.
    Machst Du

    VB.NET-Quellcode

    1. Private Sub lst_view_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lst_view.SelectedIndexChanged
    2. Using frm As New frm_fullinfo
    3. frm.ShowDialog(Me)
    4. End Using
    5. End Sub
    Was ist an diesem Thread nicht verständlich?
    Dialoge: Instanziierung von Forms und Aufruf von Dialogen
    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!
    @RodFromGermany
    Das unverständliche ist das oft viel zu kompliziert und sehr abstrakt geschrieben wird.
    Kann das nicht anders erklären.. sorry..

    Habe meine Abfrage nun über das ClickEvent gemacht.

    VB.NET-Quellcode

    1. Private Sub lst_view_MouseClick(sender As Object, e As MouseEventArgs) Handles lst_view.MouseClick
    2. 'Aktuell ausgewählten Eintrag in Variable speichern und an form2 übergeben.
    3. Dim AktlAuswahl As String = lst_view.SelectedItems(0).Text
    4. Using frm As New frm_fullinfo
    5. frm.[strLWb] = AktlAuswahl
    6. frm.ShowDialog(Me)
    7. End Using
    8. End Sub
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:

    Amelie schrieb:

    VB.NET-Quellcode

    1. frm.[strLWb] = AktlAuswahl
    Die eckigen Klammern [...] brauchst Du da nicht.
    Die sind dann erforderlich, wenn Du eine Variable mit dem Namen eines Schlüsselwortes anlegst (sollte man nicht tun):

    VB.NET-Quellcode

    1. For [for] As Integer = 1 To 10
    2. Console.WriteLine([for].ToString)
    3. Next
    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!

    RodFromGermany schrieb:

    sollte man nicht tun
    Es sei denn, man findet einfach keinen besseren Namen (was selten vorkommt, aber möglich ist).
    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.