c#: dynamische Oberfläche (GUI)

Gast #2785918
Lesenswert?

Hi,
ich bin dabei ein Programm zu schreiben welches unterschiedliche Geräte 
(an der selben Schnittstelle) ansprechen kann.

Da nun die Geräte und auch die Daten unterschiedlich sind, suche ich 
nach einer Lösung alles zusammen auf meiner Programmoberfläche 
unterbringen zu können.

Schön wäre jetzt eine dynamische GUI die je nach ausgewähltem Gerät 
entweder die eine oder die andere Oberfläche anzeigt, also 
unterschiedliche Buttons, texBoxen, Checkboxen...

Gibt es eine Möglichkeit das im Visual Studio entsprechend zu gestalten 
dass immer nur eine "Elementegruppe" angezeigt wird und der rest 
ausblendbar ist!?

Wie kann man sowas realisieren!? bin um jeden Tipp und Anregung dankbar!
Gast #2785999
Lesenswert?

chris schrieb:
> danke, ich glaube UserControl ist der richtige Ansatz.

eigentlich nicht. Man kenn jeden controll einfach mit ADD auf dem 
Form/Panel hinzufügen. wozu man da ein Usercontrol braucht ist mir nicht 
klar.

Hast du denn überhaupt mal in die Gernerierten c# Dateien geschaut? Dann 
müsste dir aufgefallen sein, das alle Controls dynmamisch hinzugefügt 
werden und zwar im contructor vom Form.
Gast #2786064
Lesenswert?

Peter II schrieb:
> eigentlich nicht. Man kenn jeden controll einfach mit ADD auf dem
> Form/Panel hinzufügen. wozu man da ein Usercontrol braucht ist mir nicht
> klar.

Dann lass es lieber mit dem Ratschläge erteilen. Ein UserControl IST der 
richtige Ansatz.
Du willst wirklich die komplette GUI per Code aufbauen? Obwohl Visual 
Studio dir einen sehr komfortablen Designer zur Verfügung stellt? Das 
ist definitiv der falsche Weg.
Gast #2786067
Lesenswert?

Sharping schrieb:
> Dann lass es lieber mit dem Ratschläge erteilen. Ein UserControl IST der
> richtige Ansatz.
> Du willst wirklich die komplette GUI per Code aufbauen? Obwohl Visual
> Studio dir einen sehr komfortablen Designer zur Verfügung stellt? Das
> ist definitiv der falsche Weg.

ja, genau das versteht ich unter dynamisch. Alles ander ist FIX auch 
wenn nicht sichtbar.
Gast #2786072
Lesenswert?

Dann lies dir nochmal die Frage des Threadstarters durch: er hat n 
Geräte, und für jedes möächte er eine andere GUI anzeigen. D.h. die GUIs 
selber sind fix, er muss nur dynamisch auswählen welche angezeigt werden 
soll.

Es bietet sich also an, für jedes Gerät ein UserControl zu entwerfen. 
Die Anwendung hat dann ein Panel, in dem je nach ausgewähltem Gerät das 
entsprechende UserControl angezeigt wird.
Gast #2786088
Lesenswert?

Wenn du das mit WPF machen willst, geht das sehr bequem wenn du listen 
ber Binding Visualisieren willst, jedes Element bekommt das per Template 
seine Oberfläche.
Es wird so gut wie kein Code benötigt und das ganze lässt sich auch 
recht ansehnlich gestalten.
In wie weit das auch mit Windows Forms geht kann ich nicht sagen.

Sebastian
Gast #2786124
Lesenswert?

um nochmal klar zu stellen was ich benötige, Sharping hat es durchaus 
richtig erkannt:

Ich habe eine bestimmte Anzahl an Geräten. Jedes Gerät benötigt eine 
andere (aber fest definierte) Programmoberfläche was die Anzahl und 
Position von unterschiedlichen Elementen angeht.

Mit der UserControl kann ich für jedes Gerät eine Eingabe- und 
Datenanzeigemaske erstellen welche ich dann in meiner form anzeige.

UserControl ist genau DAS, wonach ich gesucht habe, ich kannte es jedoch 
noch nicht!

Das dynamische erstellen von einzelnen textboxen, labels, buttons und 
Checkboxen ist mir durchaus vertraut. bei dem Programmumfang den ich 
hier aber habe, wäre das ein unding alles einzeln von Hand zu erstellen.

VS bietet hier mit UserControl eine deutlich elegantere Lösung im 
Formdesigner an!

Danke!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren