| |

Visual-Basic EinsteigerRe: Anfängerfrage Menüs | |  | Autor: clamsi | Datum: 15.07.10 00:37 |
| Hi gobi,
wenn Du eine Art pseudo-MDI meinst, dann gibt es noch eine andere, in meinen Augen wesentlich bessere Variante. Ich nutze die schon seit einiger Zeit und bin damit voll zufrieden.
Du erstellst Deine drei Forms wie gehabt ganz normal im Designer. Form1 ist die MainForm, auf ihr plaziertst Du ein Panel (in diesem Fall Panel1). Form2 und Form3 sind die Forms, die in Form1 angezeigt werden sollen.
In die Ereignisse des Menüs gehört dann folgender Code:
Private Sub ShowForm2ToolStripMenuItem_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles ShowForm2ToolStripMenuItem.Click
Dim frm As New Form2
frm.TopLevel = False
Panel1.Controls.Add(frm)
frm.Show()
frm.BringToFront()
End Sub
Private Sub ShowForm3ToolStripMenuItem_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles ShowForm3ToolStripMenuItem.Click
Dim frm As New Form3
frm.TopLevel = False
Panel1.Controls.Add(frm)
frm.Show()
frm.BringToFront()
End Sub Der Vorteil:
Du kannst das mit beliebig vielen, im Designer erstellten, Forms machen. Umständliche PictureBoxen, TabControls etc. fallen flach. Jedes Form kann vollkommen eigenständig programmiert werden, das bläht den Code der MainForm nicht bis zur Unübersichtlichkeit auf.
Der Nachteil:
Eine modale Anzeige ala ShowDialog ist nicht möglich, da die Forms unter "TopLevel=False" kein Parent haben.
Es ist möglich mehrere Forms im Panel (auch ein Form mehrfach) anzuzeigen. Sollen sich einzelne Forms unereinander ausschließen, so muss das manuell programmiert werden. Dazu kann man aber hervorragend die Controls-Auflistung des Panels nutzen.
Du musst Dich über die Location-Eigenschaft (alternativ über Left und Top) selber darum kümmern, dass die Forms nicht aus dem Panel herausgeschoben werden können. Da das aber nur ganze vier Programmzeilen sind, sollte das wohl machbar sein.
Unter WinXP gibt es manchmal Probleme mit der SELECT-Funktion der Textboxen, wenn diese an eine Datenquelle gebunden sind. Unter Vista und WIN7 ist mir das allerdings nicht bekannt.
Ansonsten bleibt es Dir überlassen, wie Du die Forms anzeigen lässt. Maximiert nehmen sie maximal das gesamte Panel ein. Ich empfehle allerdings mit Menüleiste, sonst sind sie u.U. schlecht zu schließen.
Vielleicht ist das eine Alternative für Dich.
Gruß Nico |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevZIP40 Pro DLL 
Zippen und Unzippen wie die Profis!
Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|