Child Form
-
Hi
ich habe zwei Forms und will jetzt eins davon innerhalb des anderen anzeigen ohne das man am ende sieht das es sich um zwei forms handelt. Dieses Typische Child Form ding eben. Leider hab ich nichts so richtig gefunden wies funktionieren könnte. Beim googln bin ich immer nur auf MDI Lösungen gestoßen, aber das ist nich das was ich brauch.
Nach ner weile basteln hab ichs so gemacht
ChildForm g = new ChildForm (); Control []arr = new Control[g.Controls.Count]; g.Controls.CopyTo(arr,0); panel2.Controls.AddRange(arr);
Also alle Controls des Child Forms in eine panel kopiert. Funktioniert auch, nur macht man das so??? gibts da ne bessere lösung? finds irgendwie dirty oder bilde ich mir das ein?
-
Wenn man Childformen benutzt, dann ja mit MDI. In welcher Art unterscheidet sich deine Lösung? Was du machst hat nichts mit Childforms zu tun, sondern du kopierst ja einfach nur deine Controls von eine Form in eine andere.
-
MDI verwendet man doch normalerweise nur wenn man dem benutzer die möglichkeit geben will mehrere dokumente gleichzeitig bearbeiten zu können.
Mein Problem ist das ich in meine Programm einen Dialog für die Einstellungen habe. Auf diesem Dialog befinden sich jede menge Buttons Eingabefelder usw. Diesen Dialog soll man ganz normal nutzen können, aber gleichzeitig gibt es auch noch einen Assistenten in dem die gleichen Buttons und Eingabefelder noch mal erscheinen sollen nur das diesmal noch ein paar Grafiken und die weiter/zurück Schaltflächen drumherum sind. Jetzt will ich natürlich nicht alles zweimal programmieren sondern den normalen Dialog da irgendwie einbinden.
Anderes Beispiel: Im Visual Studio unter Extras/Optionen hat man links einen Baum mit den ganzen kategorien. Wenn man jetzt eine auswählt werde rechts daneben alle nötigen controls angezeigt. Die liegen da ja nicht alle unsichtbar übereinander sonder da wird doch auch nur der angezeigte dialog ausgetauscht (den man sich mit Spy++ auch anzeigen lassen kann).
-
Erstell dir einfach ein UserControl mit den Controls die du brauchst und das UserControl kannst du dann dort verwende wo du brauchst.
-
hmm... simpel
da hätsch jetz fast selber drauf kommen können