Wie öffne ich ein neues Windows Form?

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Agent.

    Wie öffne ich ein neues Windows Form?

    Hallo zusammen!
    Ich bin noch ziemlich neu in der VB Programmierung und hab deswegen eine Frage. Ich arbeite mit MS Visual Basic 2005 Express Edition und bin gerade dabei, mein erstes selbstgestaltetes Programm zu programmieren, stieß aber vorhin direkt auf das erste Problem: ich weiß nicht, mit was für einem Code ich beim Klicken eines Buttons ein neues Windows Form öffne.

    Deshalb wäre es sehr nett, wenn mir einer von euch sagen könnte, wie ich diese Aktion nun ausführe.

    Mfg,
    Spectrax


    Topic verschoben von Admin

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Hi!

    Nein, sicher nicht, Realy ;)
    Es handelt sich hier um dot-net.

    VB.NET-Quellcode

    1. Dim frm as New Form2
    2. frm.Show
    ist der richtige Code.

    Wenn du von "außen" also z.B. von einer anderen Form aus auf die Form zugreifen willst, musst du frm dementsprechend Private oben in einer Klasse / Form deklarieren oder Public in einem Modul.
    Die new-Zuweisung muss/sollte aber innerhalb der Sub erfolgen, in der du sie aufmachst.

    Bsp.: Private-Deklaration innerhalb einer Form

    VB.NET-Quellcode

    1. Class Form1
    2. 'Forms-Designer-Code
    3. Private frm as Form2
    4. Private Sub Button1_Click (.....) Handles Button1.Click
    5. frm = new Form2
    6. frm.Show
    7. End Sub
    8. Private Sub Button2_Click (.....) Handles Button2.Click
    9. frm.Close
    10. End Sub
    11. End Class



    mfG Andy

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mad Andy“ ()

    Wenn man eine vorhandene (einzigartige) Form öffnen möchte, dann kann man es mit Formname.Show bzw. Formname.ShowDialog sehr wohl machen. Nur wenn man eine neue Instanz erzeugen möchte (wie bei einer MDI-Applikation), dann muss man es so machen, wie MadAndy es geschrieben hat.
    Ok, vielen vielen Dank für eure Hilfe!

    Also da Formname.Show mir als die einfachste Variante erscheint werde ich diese erst einmal nutzen da ich wirklich nur von Form zu Form springen möchte, trotzdem vielen Dank auch an Mad Andy, werd ich bestimmt auch noch gebrauchen deinen Tip!
    Hi!

    Seit VB2005 (Framework 2.0) funktioniert das, was Momo gepostet hat scheinbar. Bei 1.1 nicht, habs eben getestet.
    Der Stil das so zu machen ist aber sehr sehr unsauber, da Form2 kein Objekt / keine Instanz sondern eigentlich eine Klasse ist!!


    mfG Andy
    VB 2005 = dot Net Framework (zwischencode) und VB6 = alt und maschinencode und sehr sehr wenig objektorientiere Programmierung. Dieses thema wurde schon oft behandelt also mal die Suchfunktion bemühen ;)
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau