Modularer GUI Aufbau

25/11/2008 - 09:37 von Christian Mauerer | Report spam
Hallo,

ich habe eine Frage zum Aufbau von GUIs.

Bis jetzt war es bei mir immer so, dass ich für jede Art der Dateneingabe
eine eigenen Dialog erstellt hatte.
Je nachdem, welche Funktion der User ausgewàhlt hat, wurde der entsrpechende
Dialog in die MDI geladen.

Doch nun habe ich eine Anwendung, wo das nicht geht.
D. h. es soll so sein, dass je nach Menüauswahl nur bestimmte Bereich im
Dialog neu dargestellt werden.

Beispiel.
Auf der linken Seite wird immer ein Bild angezeigt.
Nun kann der User über die Menüs verschiedene Funktionenssammlungen
auswàhlen.
Je nachdem, welche Sammlung er ausgewàhlt hat, werden auf der rechten Seite
in einem kleinerer Fenster die nun zur Verfügung stehenden Funktionen
angezeigt.

Wàhlt der User nun über das Menü eine andere Funktionssammlung aus, so
sollen dort andere Funktionen dargestellt werden. Also das kleine Fenster
muss dann mit den Funktionen ausgetauscht werden.

Im Prinzip sind da ja eigentlich nur Module, welche je nach Bedarf geladen
werden. Über normale Klassen wàre mir das klar, doch wie mache ich das mit
den Dialogen? Kann ich über den Designer die möglichen ladbaren Dialoge
visuell darstellen, oder muss ich diese alle manuelle programmieren?

Vielen Dank und schöne Grüße
Christian
 

Lesen sie die antworten

#1 Norbert Ruessmann
25/11/2008 - 12:06 | Warnen spam
Hallo,

die Frage ist wie das GUI aufgebaut ist.
Wenn es auf Windows Forms basiert, kann man mit UserControls arbeiten. Ein
UserControl bietet dabei eine logische Einheit, und je nach Anforderung kann
man dann UserControls ein- bzw. ausblenden. (Visible=true oder false).

Leider bgibt es dazu im VS Designer keine Unterstützung. Hat man nicht zu
viele UserControls, so kann man sie im Designer auf die Form ziehen und dann
im Load-Event das beim Starten anzuzeigende sichtbar machen, und die andern
unsichtbar.

Dies kann aber im Designer von VS sehr schnell unübersichtlich werden. Daher
sollte man sich überlegen, diese vom Code aus zu erzeugen und vom Programm
aus in den Objektbaum einzuklinken an den richtigen Stellen.

Norbert Ruessmann
http://www.devtracer.com

"Christian Mauerer" schrieb im Newsbeitrag
news:
Hallo,

ich habe eine Frage zum Aufbau von GUIs.

Bis jetzt war es bei mir immer so, dass ich für jede Art der Dateneingabe
eine eigenen Dialog erstellt hatte.
Je nachdem, welche Funktion der User ausgewàhlt hat, wurde der
entsrpechende Dialog in die MDI geladen.

Doch nun habe ich eine Anwendung, wo das nicht geht.
D. h. es soll so sein, dass je nach Menüauswahl nur bestimmte Bereich im
Dialog neu dargestellt werden.

Beispiel.
Auf der linken Seite wird immer ein Bild angezeigt.
Nun kann der User über die Menüs verschiedene Funktionenssammlungen
auswàhlen.
Je nachdem, welche Sammlung er ausgewàhlt hat, werden auf der rechten
Seite in einem kleinerer Fenster die nun zur Verfügung stehenden
Funktionen angezeigt.

Wàhlt der User nun über das Menü eine andere Funktionssammlung aus, so
sollen dort andere Funktionen dargestellt werden. Also das kleine Fenster
muss dann mit den Funktionen ausgetauscht werden.

Im Prinzip sind da ja eigentlich nur Module, welche je nach Bedarf geladen
werden. Über normale Klassen wàre mir das klar, doch wie mache ich das mit
den Dialogen? Kann ich über den Designer die möglichen ladbaren Dialoge
visuell darstellen, oder muss ich diese alle manuelle programmieren?

Vielen Dank und schöne Grüße
Christian



Ähnliche fragen