OpenForm in VB.net?

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von DJToastbrot.

    OpenForm in VB.net?

    Hallo zusammen

    Ich komme eigentlich von Access und VBA her und bin jetzt auf VB.net umgestiegen weil meine DB zu Gross und komplez für Acc. wurde (neu also SQL 2008 expr. und VB als Frontend).

    Ich habe zwei Windows Forms /frmFirmaLieferantDetail.vb und darauf eine btn: Detail Adresse (dieser sollte auf Click) das frmFirmenAdressDetail.vb oeffnen. Darauf ist wieder ein btn der das frmFirmenAdressDetail.vb schlisst

    In VBA habe ich das mit OpenfrmFirmenAdressDetail gemacht. Wie mache ich das in VB.net (nur zur info) es sind nur Forms ohne irgendwelche datenbindungen. Es geht nur um die navigation.

    Weiss jemand auch Beispiel Applicationen, wei früher Nordwin in Acc.?

    Bin für jeden typ dankbar. Gruss Thomas S ;)
    hallo thomas s,

    im prinzip ganz einfach.
    ich gehe davon aus, dass du deine fenster im designer anlgest.

    wenn du im designer auf den button doppelklcikst, wird das click event als code angezeigt.
    dort kannst du dann deine form mit

    VB.NET-Quellcode

    1. meineForm.Show

    oder

    VB.NET-Quellcode

    1. meineform.Showdialog()

    anzeigen lassen.

    gruss

    mikeb69
    Vielleicht sollte man noch kurz die Unterschiede zwischen Show() und ShowDialog() erklären.

    Bei Show() wird das Formular geöffnet und taucht als normales Fenster auf.
    Man ganze normal zwischen beiden Fenstern wechseln und eingaben machen.

    Bei ShowDialog() wird das Formular als modales Fenster geöffnet.
    Das heißt solange das Formular geöffnet ist kann nicht auf das vorherige Form zugegriffen werden.

    In beiden fällen kann man mit

    VB.NET-Quellcode

    1. Me.Hide()

    Oder

    VB.NET-Quellcode

    1. Me.Close()

    Das aufgerufene Form wieder schließen.
    Wobei man hier auch wieder Unterscheiden muss :)
    Mit

    VB.NET-Quellcode

    1. Me.Hide
    ist die Form zwar nicht mehr sichtbar, aber denoch "vorhanden"
    Wird die Form wieder sichtbar, sind die zuvor eingetragenen Texte usw noch vorhanden.

    Mit

    VB.NET-Quellcode

    1. Me.Close
    wird die Form richtig geschlossen.
    Bei erneutem Aufrufen der Form sind die eingegebenen Daten gelöscht worden.
    wintoolz.de
    • wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passwörten
    • wintoolz.CodeGallery - Datenbank für Codebeispiele veschiedener Programmiersprachen
    • wintoolz.Haushaltsbuch - Dient zum Auflisten der Aktivitäten ihrer Bankkonten

    Benutze auch du Ecosia
    Möchte auch noch kurz meinen Senf dazugeben:

    Wenn du eine richtig professionelle Oberfläche willst, dann bindest du zusätzlich bei den Ereignissen

    UserForm1_load und
    UserForm1_locationchanged

    folgendes im sich zuerst öffnenden Formular ein:

    VB.NET-Quellcode

    1. My.Forms.UserForm2.Location = Me.Location

    weiterhin fügst du dann im sich öffnenden Formular bei den Ereignissen
    UserForm2_load und
    UserForm2_locationchanged
    folgendes ein:

    VB.NET-Quellcode

    1. me.location = My.Forms.UserForm1.Location

    Der Sinn des Ganzen?
    So kannst du sicherstellen, dass wenn ein User das Fenster, warum auch immer verschieben sollte, sich das nachfolgende Fenster an genau der selben Stelle öffnet, was dann (zumindest unter Windows XP) den Anschein macht, als wenn das Fenster immer das gleiche ist, und nur der Inhalt (Buttons, Eingabefelder, etc.) ausgetauscht werden.
    Nur so als Tipp fürs Feintuning! ;)


    Gruß

    DJToastbrot