Gui mit Panels statt MDI

31/07/2008 - 23:27 von Holger | Report spam
Hallo Newsgroup,

ich habe eine - evtl. profane - Frage:
Ich möchte in VS2005 eine Anwendung mit mehreren Sichten
implementieren. Das Hauptfenster besteht links aus ein paar Button und
rechts aus dem jeweils
gewàhlten Inhalt (je nach Button) - so ein bisschen wie beispielsweise
Outlook. Dann habe ich mir gedacht, dass eine MDI-Anwendung nicht das
trifft,
was ich will. Besser wàren Panels. Also habe ich mir überlegt ich
bastele ein MainWindow mit einem SplitPanel - der linke Teil ist fix,
der rechte Teil
entsprechend dynamisch.
Die Views (also der Inhalt des rechten Panels) sehen alle sehr àhnlich
aus - aber auch aus anderen Gründen wàre eine gemeinsame Vaterklasse
für alle
Views schön. Also dachte ich an ein UserControl, weil ich die Views ja
zeichnen will (und nicht via Code setzen...) - und anders habe ich das
mit dem
Designer nicht hinbekommen... (lieber wàre mir gewesen eine Klasse
einfach von Panel abzuleiten und punkt - aber das klappt mit dem
Designer
irgendwie nicht).

Der nàchste Punkt ist, dass sich die Views im Prinzip immer aus drei
Bereichen bestehen: einem Filter(oben) einem Grid(unten) und Button
(rechts unten
neben dem Grid). Also wàre es hilfreich, in der VaterView die Panels
entsprechend anzulegen, damit die Kindklassen nur ihren Inhalt an die
entsprechenden Stellen basteln müssen.

Hier also das Problem:
Wenn ich in der VaterView Panels einfüge, die Modifier auf Public
mache, kann ich in diese Panels in der Subklasse nichts mehr einfügen,
da
diese gesperrt sind.

Frage(n)
1) ISt das so gewollt? Wo ist mein Denkfehler?
2) Wenn es so gewollt ist: Wie erstellt man eine solche Anwendung, die
eben nicht MDI ist, sondern nur mit einer Art Panel-Lösung arbeitet?

Vielen Dank für jede Hilfe!

Holger Gubbels
 

Lesen sie die antworten

#1 Peter Brightman
02/08/2008 - 15:26 | Warnen spam
Holger schrieb:

Frage(n)
1) ISt das so gewollt? Wo ist mein Denkfehler?
2) Wenn es so gewollt ist: Wie erstellt man eine solche Anwendung, die
eben nicht MDI ist, sondern nur mit einer Art Panel-Lösung arbeitet?

Vielen Dank für jede Hilfe!

Holger Gubbels



Hallo Holger,

so etwas àhnliches habe ich bereits gemacht und funktioniert prima, es
ist keine MDI Anwendung denn es gibt nur eine View zu einem Zeitpunkt,
cascading windows etc. brauche ich nicht. Bei mir ist da erst mal ein
UserControl innerhalb der Haupt-Form. Das könnte man sogar auch
wechseln. Dieses UC bekommt eine SplitView, im Westen ein TreeView und
im Osten das eigentliche UserControl welches jeweils ein IView
implementiert. Dieses UC wird im Kontext der angewàhlten Node des
TreeViews gewechselt. Mancher Node-Click erfordert kein Wechsel des UCs,
jedoch den Update von Daten innerhalb des UCs. IView hat für diese
Aufgaben zwei Methoden.

Wenn Du willst kann ich Dir gerne mal das Projekt zusenden, kann aber
sein dass du dazu db4o brauchst (eine DLL) damit du es starten kannst.
Wenn Du also Interesse hast, schick mir eine mail.

Gruß,
Peter

Ähnliche fragen