Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Win-Forms : Mehrere Forms in ein zusammen packen.
gh0st93
myCSharp.de - Member



Dabei seit:
Beiträge: 87

Themenstarter:

Win-Forms : Mehrere Forms in ein zusammen packen.

beantworten | zitieren | melden

Hallo liebes Community,

erstmal sorry für den eventuell unpassenden Titel, jedoch wusste ich nicht wie ich mein Problem sonst besser ausdrücken könnte.

Ich will eine kleine Anwendung schreiben, worin man Daten abspeichern, in ein Kalender Termine eintragen & die eingetragenen Daten wieder aufrufen kann. (Also im Grunde 3 Grundfunktion)

Ich könnte nun für alle 3 eine eigene Form einrichten und sie beim öffnen halt anzeigen & in der neuen Form alles ausgeben lassen, was aber irgendwie meiner Meinung nach Designer mäßg nicht so Prickelnd aussieht.

Ich hatte mir überlegt, es eventuell wie bei den gängigen Anwendungen zu machen, in dem ich alles in einer Form anzeigen lasse. Also beim Klick auf "Kalender" soll sich der Inhalt der Form halt ändern & zum kalender halt wechseln.
Ich hatte mir überlegt, mir alle Elemente in die Form ziehen, Platzieren & die Sichtbarkeit zu ändern, was aber nach einigen Funktion recht schnell unübersichtlich wird & die Ladezeit wäre denk ich mal auch nicht grad berauschend.

Hättet ihr vielleicht andere Ansätze, wie ich an das zu lösende Problem herran gehen könnte ?
private Nachricht | Beiträge des Benutzers
Palin
myCSharp.de - Member



Dabei seit:
Beiträge: 1115

beantworten | zitieren | melden

Hi

du kannst einfach UserControls verwenden und die dann ein/ausblenden.
Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern
private Nachricht | Beiträge des Benutzers
gh0st93
myCSharp.de - Member



Dabei seit:
Beiträge: 87

Themenstarter:

beantworten | zitieren | melden

Hallo Palin und vielen dank schon mal für deine Antwort.
Ich weiß nicht so ganz ob ich das richtig verstanden habe.

Habe bis jetzt Panels genutzt & sie je nach ButtonKlick die Visibie auf True oder False gesetzt.

Funktioniert bis hier her eigentlich auch ganz wunderbar.

Stellen sich mir nur 2 fragen.

- 1) Später, wenn das Programm soweit fertig ist, BETA überstanden hat, auch tut was es soll und keine Fehler aufweißt, hatte ich vor, kleinere Animation mit einzubauen, um die Darstellung des Programms etwas zu verschönern.
(Im Grunde nur, dass wen auf Button geklickt wurde und der Panel dazu angezeigt werdne soll nicht einfach angezeigt wird sondern etwa so wie bei Smartphones das das Menü zur Seite zieht & mein neuer Panel von der Seite kommt ("Ob das möglich ist & wie ich das anstelle muss ich mir später gedanken drum machen & wenns so nicht geht auch nicht schlimm, hauptsache das Programm funktioniert")).

- 2) Habe ich bis jetzt schon einige viele Elemente drin & dies war noch lange nicht alles, kommen noch viele hinzu. Was mach ich aber nun, wenn ich später mal ein Update raus bringen will, weil ich am Design was verändern möchte. So ist es so wie ich das bis jetzt mache doch sehr schwierig muss ich sagen. Oder kennt ihr eine möglichkeit wie ich dies vereinfachen könnte.
Da ich ja jedes Panel kopieren & löschen müsste, am Design verändern & den neuen panel wieder hinbasteln müsste.

Ich häng mal ein Bild ein damit ihr versteht was ich meine.
Attachments
private Nachricht | Beiträge des Benutzers
TheBrainiac
myCSharp.de - Member

Avatar #avatar-3152.png


Dabei seit:
Beiträge: 832
Herkunft: /dev/null

beantworten | zitieren | melden

https://github.com/dockpanelsuite/dockpanelsuite
There are 10 types of people in the world:
Those, who think they understand the binary system
Those who don't even have heard about it
And those who understand "Every base is base 10"
private Nachricht | Beiträge des Benutzers
Palin
myCSharp.de - Member



Dabei seit:
Beiträge: 1115

beantworten | zitieren | melden

Also wenn du Animationen verwenden willst, solltest du WPF verwenden, das wird die Sache vereinfachen.

Grundlegend solltest du dir mal das MVVM Pattern anschauen, kann man auch mit Windows Forms umsetzten. Die UserControlls kannst du dann als View ansehen. Löschen brauchst du da dann eigendlich nichts (ausser Funktionen fallen weg). Sondern erweiterst dein UserControll nur. Was auch besser für die Übersichtlichkeit ist. Du siehst halt nur die UserControlls und nicht alle Felder in ihnen und du kannst sie auch über den Designer hinzufügen.

Abhängigkeiten kannst du dann z.B. über einen z.B. IoC Container auflösen.

Bitte erst mal nach den einzelnen Begriffen googlen und sie dir mal durch lesen (C# voranstellen kann nicht schaden ;) )

@TheBrainiac zur Signatur:
Mach doch bitte eine 11 aus der 1. 10. Dann fühlen sich die Leute die glauben Binär zu verstehen wohler ;)
Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern
private Nachricht | Beiträge des Benutzers
gh0st93
myCSharp.de - Member



Dabei seit:
Beiträge: 87

Themenstarter:

beantworten | zitieren | melden

Ok, dies werde ich mir wohl oder übel aneignen müssen. ^^
Eine kleine frage dazu noch, ist das MVVM Pattern nur für das WPF gedacht?
Da ich nur Tutorials im zusammenhang mit WPF finde?

Denn WPF erfahrung hab ich leider bisjetzt keine.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15704
Herkunft: BW

beantworten | zitieren | melden

Bei WinForms verwendet man i.d.R. MVP. MVVM findest Du zB aber auch im Web - kaum/nicht bei WinForms.
private Nachricht | Beiträge des Benutzers
gh0st93
myCSharp.de - Member



Dabei seit:
Beiträge: 87

Themenstarter:

beantworten | zitieren | melden

Ok vielen dank.

Ja, ich werde jetzt anfangen mich in WPF mal ausernander zu setzten.
Früher oder später würde ich da sowieso bestimmt nicht rum kommen. :)

Ich danke euch für eure Antworten :D
private Nachricht | Beiträge des Benutzers