Laden...

Anzeige großer Formulare im Designer

Erstellt von ismirschlecht vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.694 Views
I
ismirschlecht Themenstarter:in
45 Beiträge seit 2012
vor 9 Jahren
Anzeige großer Formulare im Designer

Hallo,

ich arbeite mit Visual Studio 2010 an einem "geerbten" Programm, dessen Formulare mächtig inhaltsvoll sind.
Leider kann sie der Formulardesigner nie vollständig anzeigen, und auch das Werkzeug "Dokumentenstruktur" ist nicht sonderlich hilfreich.
Vollansicht (Alt-Shift-Enter) ist auch zwecklos.
In den Fenstern scheinen sich zig Panele zu stapeln, die je nach Programmfluß sichtbar werden, über Visible und Dock=Top
Frage: Wie kann ich den Designer dazu bringen, alle Elemente auf dem Form anzuzeigen ?
Bitte keine Diskussionen über den Programmierstil, wie gesagt, ich habe es "geerbt" und muß das Programm dienstlich weiter verschönern.
ism

C
2.121 Beiträge seit 2010
vor 9 Jahren

Elemente die zusammen nie auf einen einzigen Bildschirm passen wirst du nicht gleichzeitig auf einem einzigen Bildschirm anzeigen können. Den Trick kenn ich jedenfalls nicht 😃

Eine Lösung wäre evtl. dass du immer das benötigte Panel in den Vordergrund stellst und dann natürlich per Code sicherstellst dass alle Panels zur Laufzeit dort landen wo sie sein sollen.
Etwas nobler wäre ein TabControl, in dem du die ganzen Panels drin hast. Zur Designzeit kannst du dann bequem hin und her schalten, zur Laufzeit nimmst du alle Panels raus, setzt sie dahin wo sie jetzt auch sind und löschst das TabControl.

Das sauberste wird natürlich ein Umbau sein, Elemente auslagern usw. Kann aber in manche Fällen lästig sein, wenn man alle Elemente in einem einzigen Formular haben will.

2.207 Beiträge seit 2011
vor 9 Jahren

Hallo ismirschlecht,

reden wir von Windows-Forms? Oder WPF?

Generell: Wenn du sowas hast: Lass den Designer weg! Ich kann nur von WPF (und XAML) sprechen, und man schreibt sicherlich besseren Xaml-Code wenn man keinen Designer hat. Gerade wenn alles so drunter und drüber geht wie im Code von deinem Projekt (wie du sagst), dann ist es umso wichtiger guten und vor allem lesbaren XAML-Code zu schreiben. Also: Designer aus, saubere Styles, Triggers und und und definieren und wenn man es dann lesen kann ist das allemal sinnvoller, als mit dem Designer Kruscht zu machen, der vorne und hinten nicht verhebt und nur unsauberen Code fabriziert.

Gruss

Coffeebean

2.223 Beiträge seit 2005
vor 9 Jahren

Hallo ismirschlecht,

Ich kann dir nur empfehlen das du das jeweilige Fenster ordentlich neu erstellst, gerade weil es ein Projekt ist, dass nicht von Dir ist, du es aber weiterentwickeln musst.

Die Zeit die jetzt darauf verwendest, wirstdu im laufe der zeit wieder einsparen.

Lars

I
ismirschlecht Themenstarter:in
45 Beiträge seit 2012
vor 9 Jahren

Hallo,

ja danke erstmal für die Antworten.
Es handelt sich um WinForms.

Vielleicht doch ganz neu entwerfen...
Gruß ism

F
10.010 Beiträge seit 2004
vor 9 Jahren

Das sowieso.

  1. Der Designer kann und sollte dir dabei nicht helfen, denn das was dein Vorgänger gemacht hat ist Müll.

  2. Wenn du so ein Formular anfasst, lagere alles was da variable oder irgendwie zusammenfassbar ist in Usercontrols aus.

  3. Weil dein Vorgänger das im code wahrscheinlich genauso grauselig gemacht hat, auch da Businesslogik von Viewlogik trennen.

Nach meinen langen Erfahrungen mit vielen Portierungen ist das beim ersten mal sicherlich etwas umständlich, dauert aber meist nicht so lange wie das reine "Verbessern".
Aber beim 2. Fenster wirst du viel schneller sein.

Hatte mal ein Projekt zu reviewen/verbessern, wo wir innerhalb von 2 Wochen den Code (ca 500.000 LOC) auf 40% eingedampft haben, und alles viel besser zu warten war.