Da ich mir gedacht habe, dies könnte hilfreich für einige Programme hier im VB-Paradise sein, gibts
heute ein Tutorial wie man ganz einfach eine "UserControl-based-Form" macht.
Was ist das überhaupt?
Eine "UserControl-based-Form" ist eine Anwendung, die auf MDI, Tabs und mehrere Forms verzichtet.
Sie ist ungefähr wie Tabs, verhält sich aber wie eine normale Anwendung mit Forms, da die Forms unabhängig sind und nicht, wie bei Tabs auf das Hauptfenster angewiesen sind.
Ich persönlich bevorzuge diese Technik, weil es die Probleme mit Tabs und mehreren Forms aus dem Weg schafft.
Ich hoffe, das ist gut erklärt.
Was man dafür braucht:
1 Form
x Buttons
1 Panel
Vorbereitung:
Erstelle eine Windows Forms Anwendung
Ziehe zwei Buttons auf die Form und platziere sie unter der Titelleiste ( Name: Hauptmenü, Über )
Nimm ein Panel und breite es über die ganze Form ( ausgenommen der Buttons ) aus
Gebe dem Panel folgende Eigenschaften:
- Anchor=Top, Left, Right, Bottom
Öffne das Codefenster mit F7
Okay...das wäre fertig. Die Form ist eingerichtet.
Der etwas knifflige Schritt bei dem ganzen, ist die Übersicht, da der Code schnell über mehrere hundert Zeilen lang werden kann auf der Hauptform.
Aber das soll ja nicht stören, also ignorieren.
Am anfang sieht die Form folgendermaßen im Code aus:
Da muss erstmal ein Enumerater rein.
Mit folgenden Werten:
- main = 0
- about = 1
also so:
Nachdem der Schritt getan ist, gehts ans Verarbeiten der Daten in der Methode "changeContent"
Ich hoffe die Kommentare sind einleuchtend, weil ich nicht so gut erklären kann^^
Hier wird der Editor einige Fehler werfen, was nicht stören soll, kommt alles noch.
Was auffält, es wird immer myUC benutzt, aber nirgendwo deklariert.
Also:
fertig
Das wäre schonmal der erste Fehler.
Jetzt müssen die UserControls angelegt werden.
Dafür einfach ein neues BenutzerSteuerelement zum Projekt hinzufügen und "uc_main" nennen.
Gleich ein zweites dazu und das wird "uc_about" genannt, und schon sind nurnoch vier Fehler drin.
Die auch sogleich behoben werden.
In der Codeansicht von uc_main schreibt man folgendes rein:
Und gleich zwei weitere Fehler terminiert
Die letzten zwei Fehler kann man so in der Hauptform terminieren:
Und keine Fehler mehr.
Nun werden die Buttons belegt.
Der erste mit "Hauptmenü" muss so belegt werden:
Den zweiten belegt man wie folgt:
und voilà, da ist das Programm, dass keine zweiten Forms braucht, keine Tabs und viel schöner ist.
Der Code kann natürlich mit zehntausend verschiedenen Möglichkeiten verbessert, erweitert, auf persönliche Bedürfnisse angepasst werden,
aber dies ist nur der Grundstein, deswegen: tu was immer du willst mit dem Code solange du ihn nicht unter deinem Namen verteilst,
ohne meine Einwilligung irgendwo Veröffentlichst und auch nicht verkaufst.
Ich hoffe, dieses Tutorial hat irgendwo einen Sinn, denn sonst wäre die Arbeit umsonst gewesen.
Im Anhang das Beispielprojekt. Natürlich Option Strict On!
Fragen bitte hier posten und nicht per PN.
heute ein Tutorial wie man ganz einfach eine "UserControl-based-Form" macht.
Was ist das überhaupt?
Eine "UserControl-based-Form" ist eine Anwendung, die auf MDI, Tabs und mehrere Forms verzichtet.
Sie ist ungefähr wie Tabs, verhält sich aber wie eine normale Anwendung mit Forms, da die Forms unabhängig sind und nicht, wie bei Tabs auf das Hauptfenster angewiesen sind.
Ich persönlich bevorzuge diese Technik, weil es die Probleme mit Tabs und mehreren Forms aus dem Weg schafft.
Ich hoffe, das ist gut erklärt.
Was man dafür braucht:
1 Form
x Buttons
1 Panel
Vorbereitung:
Erstelle eine Windows Forms Anwendung
Ziehe zwei Buttons auf die Form und platziere sie unter der Titelleiste ( Name: Hauptmenü, Über )
Nimm ein Panel und breite es über die ganze Form ( ausgenommen der Buttons ) aus
Gebe dem Panel folgende Eigenschaften:
- Anchor=Top, Left, Right, Bottom
Öffne das Codefenster mit F7
Okay...das wäre fertig. Die Form ist eingerichtet.
Der etwas knifflige Schritt bei dem ganzen, ist die Übersicht, da der Code schnell über mehrere hundert Zeilen lang werden kann auf der Hauptform.
Aber das soll ja nicht stören, also ignorieren.
Am anfang sieht die Form folgendermaßen im Code aus:
Da muss erstmal ein Enumerater rein.
Mit folgenden Werten:
- main = 0
- about = 1
also so:
Nachdem der Schritt getan ist, gehts ans Verarbeiten der Daten in der Methode "changeContent"
VB.NET-Quellcode
- Sub changeContent(ByVal content As content)
- If Not myUC Is Nothing Then ' wenn nicht myUC Nichts
- Select Case myUC.Name
- Case "uc_main" ' wenn myUC.Name = "uc_main"
- RemoveHandler uc_main.changeUC, AddressOf changeUC ' lösche den Handler von uc_main auf changeUC
- End Select
- End If
- Select Case content
- Case Form1.content.main ' wenn content = content.main
- myUC = New uc_main ' erstelle neues UserControl von uc_about
- myUC.Name = "uc_main" ' setze Namen
- AddHandler uc_main.changeUC, AddressOf changeUC ' erstelle Handler changeUC
- Case Form1.content.about ' wenn content = content.about
- myUC = New uc_about ' erstelle neues UserControl von uc_about
- myUC.Name = "uc_about" ' Namen setzen
- End Select
- mainContent.Controls.Clear() ' mainContent ist das Panel
- If myUC IsNot Nothing
- myUC.Dock = DockStyle.Fill ' fülle das Panel mit dem UserControl aus
- mainContent.Controls.Add(myUC) ' füge myUC dem mainContent hinzu
- End If
- End Sub
Ich hoffe die Kommentare sind einleuchtend, weil ich nicht so gut erklären kann^^
Hier wird der Editor einige Fehler werfen, was nicht stören soll, kommt alles noch.
Was auffält, es wird immer myUC benutzt, aber nirgendwo deklariert.
Also:
fertig
Das wäre schonmal der erste Fehler.
Jetzt müssen die UserControls angelegt werden.
Dafür einfach ein neues BenutzerSteuerelement zum Projekt hinzufügen und "uc_main" nennen.
Gleich ein zweites dazu und das wird "uc_about" genannt, und schon sind nurnoch vier Fehler drin.
Die auch sogleich behoben werden.
In der Codeansicht von uc_main schreibt man folgendes rein:
Und gleich zwei weitere Fehler terminiert
Die letzten zwei Fehler kann man so in der Hauptform terminieren:
Und keine Fehler mehr.
Nun werden die Buttons belegt.
Der erste mit "Hauptmenü" muss so belegt werden:
Den zweiten belegt man wie folgt:
und voilà, da ist das Programm, dass keine zweiten Forms braucht, keine Tabs und viel schöner ist.
Der Code kann natürlich mit zehntausend verschiedenen Möglichkeiten verbessert, erweitert, auf persönliche Bedürfnisse angepasst werden,
aber dies ist nur der Grundstein, deswegen: tu was immer du willst mit dem Code solange du ihn nicht unter deinem Namen verteilst,
ohne meine Einwilligung irgendwo Veröffentlichst und auch nicht verkaufst.
Ich hoffe, dieses Tutorial hat irgendwo einen Sinn, denn sonst wäre die Arbeit umsonst gewesen.
Im Anhang das Beispielprojekt. Natürlich Option Strict On!
Fragen bitte hier posten und nicht per PN.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „AliveDevil“ () aus folgendem Grund: "Beschreibung" eingefügt und Titel umbenannt