[Visual Basic] Formular in Formular

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von liftishifty, 15. Oktober 2012 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 15. Oktober 2012
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Formular in Formular

    Hello all,

    wollte in Visual Basic 2010 Express mal ne etwas grössere Anwendung Programmieren und habe mich gefragt, wie man eigentlich die Anwendung so aufbaut, dass ich immer nur ein einziges Form habe in dem dann quasi alles weitere passiert und nicht wie sons üblich mehrer Formulare aufpoppen.

    Zur veranschaulichung hier mal ein Bild:

    Bild

    Links im Bild sind die Buttons auf die mann drückt und die jeweilige Oberfläche dazu soll dann im grau hinterlegten Bereich erscheinen anstatt dass jedesmal ein neues Formular aufpoppt.

    Hoffe es ist klar geworden worum es geht und jemand kann mir da weiterhelfen. Bin noch recht neu in Visual Basic


    //Habe ürigens jetzt einfach links ein Panel hingezogen und darauf die Buttons gelegt. Ist das schon der richtige ansatz oder komplett falsch?

    Danke!
     
  2. 15. Oktober 2012
    Zuletzt bearbeitet: 15. Oktober 2012
    AW: Formular in Formular

    Der Oberfläche nach zu urteilen, arbeitest du mit Visual Studio?
    Das mit dem Panel ist schon ein guter Ansatz, allerdings solltest du ein Panel für den grauen Bereich nehmen, in der die anderen Forms erscheinen sollen.

    Im Code der Buttons fügst du dann die entsprechende Form dem Panel hinzu:

    C#-SourceCode
    Code:
    [COLOR="Lime"]//Panel Inhalt leeren[/COLOR]
    panel1.Controls.Clear();
    [COLOR="Lime"]//Neue Instanz von Form2 erzeugen[/COLOR]
    form2 frm = new form2();
    [COLOR="Lime"]//Nicht als TopLevel deklarieren und jegliche Ränder entfernen[/COLOR]
    frmGeneral.TopLevel = false;
    frmGeneral.FormBorderStyle = FormBorderStyle.None;
    [COLOR="Lime"]//Form auf Größe des Panels füllen[/COLOR]
    frmGeneral.Dock = DockStyle.Fill;
    [COLOR="Lime"]//Gerade erstelle Instant von Form2 dem Panel hinzufügen[/COLOR]
    panel1.Controls.Add(form2);
    [COLOR="Lime"]//Form anzeigen[/COLOR]
    frmGeneral.Show();
    Habe leider gerade nur C# zur Hand, aber in VB dürften die Befehle ja relativ ähnlich sein
    Zumindest hast du so schon mal einen Ansatz
    Hoffe das bringt dich weiter


    Edit//
    Code:
     Panel1.Controls.Clear()
     Form2.Dock = DockStyle.Fill
     Form2.TopLevel = False
     Form2.FormBorderStyle = FormBorderStyle.None
     Panel1.Controls.Add(Form2)
     Form2.Show()
    
    So funktioniert's auch in VB
     
    1 Person gefällt das.
  3. 15. Oktober 2012
    AW: Formular in Formular

    Astrein war genau das was ich gesucht habe!

    Danke für die schnelle Antwort

    Top! Bewertung haste natürlich auch bekommen :] :]
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.