[C#][funktional gelöst] Oberfläche im Programm ändern?

Cyperfriend

Der ohne Avatar
Registriert
14 Juli 2013
Beiträge
1.123
Wie kann ich die Oberfläche in einem Programm ändern und wie stelle ich das in der Entwicklungsumgebung dar?
Einfaches Beispiel was ich meine:
Wenn man beispielsweise im CCleaner durch die Navigation klickt, dann ändert sich ja rechts die Oberfläche. Das will ich auch machen.
Ich habe mal gelesen, dass man das über ein Benutzersteuerelement machen kann, aber dann muss man das ja wieder umständlich in das Hauptprogramm einbinden. Gibt es wirklich keine besseren Optionen?
 
Zuletzt bearbeitet:
Re: [C#] Oberfläche im Programm ändern?

Benutzersteuerelemente einbinden ist nicht schwieriger, als einen button.

Aber wenn ich das richtig verstehe, suchst Du nach Panel.
 
Re: [C#] Oberfläche im Programm ändern?

Für kleinere Projekte funktioniert es einfach, wenn man in Visual Studio die Elemente (wie schon gesagt ggf auf einem Panel) oder so anlegt und diese visible = false schaltet.
Wechselt man in einen anderen "Programmteil" werden sie eben visible = true und die nun nicht mehr gebrauchten Elemente werden false.

Das ist nicht unbedingt schön, tut aber ^^
 
  • Thread Starter Thread Starter
  • #4
Re: [C#] Oberfläche im Programm ändern?

Da muss es doch eine Lösung geben? Es kann doch nicht sein, dass man die Benutzeroberfläche nicht anständig ändern kann, während man sie gleichzeitig im Designer ordentlich sieht. Ich habe rechts eine Navigation und wenn ich einen Menüpunkt anklicke soll sich eben rechts die Benutzeroberfläche komplett ändern. Mit Aus- und Einblenden ist das meiner Meinung nach nicht getan, zumal die Panels ja irgendwie auch immer während des Designers platziert werden müssten und im Weg stünden.

Ich würde das halt gerne so im Designer habe, wie beispielsweise wenn man das TabControl benutzt. Da kann man während des designens ja auch schonmal durchklicken, nur dass ich eben kein TabControl habe, sondern Buttons.
 
Re: [C#] Oberfläche im Programm ändern?

Ansicht-> weitere Fenster-> Dokumentgliederung

Damit kommst Du im Designer an jedes Control, auch wenn Du die alle übereinandergelegt haben solltest
 
  • Thread Starter Thread Starter
  • #6
Re: [C#] Oberfläche im Programm ändern?

Das ist komisch. Diese Option scheint es in der Express-Version von VC2010 nicht zum auswählen geben. Drücke ich aber strg+alt+t erscheint die Dokumentgliederung :D
Ich habe mir jetzt mal drei Panels in mein Projekt gezogen, mit Fill angedockt und einige Steuerelemente drauf geklatscht. Dann habe ich ein anderes Panel angewählt, das noch keine Steuerelemente haben sollte. Die Steuerelemente vom ersten Panel bleiben aber sichtbar.

Die Lösung könnte übrigens von mir sein. Irgendwie sieht es nach Flickwerk aus. Arbeiten die Profis wirklich so?
Anhang anzeigen 31783
 
Re: [C#] Oberfläche im Programm ändern?

Du mußt die Pfeile up/down benutzen.

EDIT: Du mußt auch nicht alles in den Designer klatschen. Die angesprochenen Usercontrols kannst Du an ganz anderer Stelle entwickeln und bindest sie erst zur Laufzeit ein.
 
Zuletzt bearbeitet:
Re: [C#] Oberfläche im Programm ändern?

.....was natürlich wesentlich mehr Arbeit ist. Das komplette Erzeugen der Steuerelemente samt ihrer Eigenschaften.
Pro ist aber: Man lernt dadurch mehr, als dass man sie nur reinknallt.
 
  • Thread Starter Thread Starter
  • #9
Re: [C#] Oberfläche im Programm ändern?

Ich habe es eben gerne, wenn ich direkt sehe was ich fabriziere. Außerdem passt dann auch alles gleich. Ich binde das Panel beispielsweise direkt mit Fill an die Groupbox. Ich wüsste jetzt auch gar nicht, wie ich ein Panel extern entwickeln sollte und es hinterher so einbinden kann, dass es erstens in der groupbox5 landet und zweitens diese füllt. Ein weiterer vorteil ist, dass man das Endergebnis auch direkt sieht.

Trotzdem finde ich diesen Entwicklungsstil seltsam. Bei vier, fünf Panels mag diese Lösung noch ganz brauchbar sein und für mich auch OK, aber wenn da mal jemand mit einem komplexen Programm um die Ecke kommt, wo sich der Hauptkontent 100x ändern kann wird das glaube ich schon etwas unpraktisch.
 
Hi Cyperfriend, die Zeiten von Rapid-Application-Prototyping (RAD) sind nahe zu vorbei. Auch bei Microsoft. Die Oberflächenentwicklung über leistungsfähige Designer verliert immer mehr an Bedeutung. XAML-Anwendungen (WPF, Apps, Silverlight) werden von den meisten Entwicklern im Rohformat in XAML-Syntax "vorgeschrieben" und dann per Expression Blend von GUI-Designern nachbearbeitet . Im ASP.NET Webforms Umfeld kannst Du den Designer vergessen, bei ASP.NET MVC gibt es gar keinen mehr. Für die "reinen" HTML-5 GUIs findest Du auch nur Stückwerk. Der letzte Versuch von Microsoft ein RAD-Tools an den Mann zu bringen , nannte sich LightSwitch und war ein Flop. Den "letzten" brauchbaren Designer im MS-Umfeld findest Du bei WinForms-Anwendungen. Aber WinForms verliert auch an Bedeutung.
 
Zurück
Oben