Windows Form Skalierung / Anpassung

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 26 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    ich wiederhole nochmal post#6:
    Ich gehe davon aus, dass wenn ein User seine Window-Scalierung auf 200% eingestellt hat, dass er dann große Schriften, große Buttons etc. pp. haben will. Und das kriegt er dann ja auch, und diese Vergrößerung gilt für alle Anwendungen auf seim Computer.

    Und ich halte es für eine absolut unfabelhafte Idee, dass eine besondere Anwendung nu hergeht, die Scalierung ausliest, und ihr diametral entgegenarbeitet, indem sie zur Strafe alle Controls bei sich dann wieder verkleinert (was wie gesagt der User doch grad nicht haben wollte)
    Dann hast du da ein Windows, wo alles schön groß ist, nur eine App schlägt da raus, und tut sich durch Fuzzel-Controls hervor - na vielen Dank, Herr Entwickler! - aber gibts da nicht auch was von RatioPharm?

    Ma abgesehen davon, dass die "Zwangs-verfuzzelung" garnet so einfach zu implementieren ist, halte ich es für richtiger, dem User eine Anwendung mit dynamischen Layout zu präsentieren.
    Bei einem dynamischen Layout vergrößern sich nicht alle Buchstaben, wenn man das Fenster groß zieht, sondern bestimmte Arbeitsflächen vergrößern sich, etwa Text-Editoren, Listen, Tabellen.
    Also wenn du beim dynamischen Layout das Form vergrösserst, siehst du mehr, anstatt dasselbe nur in grösser.

    Das ist vor allem eine Design-Aufgabe, es zu planen, welche Flächen in dieser Hinsicht wichtig sind - oft zeigt sich, dass eine beliebige Layout-Flexiblisierung im nachhinein nicht sinnvoll anwendbar ist, wenn das vorliegende Layout einfach starr für eine bestimmte Größe designed wurde.

    Wie dem auch sei: Im Gegensatz zur "Zwangs-Verfuzzelung" steht zum Entwurf eines flexiblen Layouts ein enorm mächtiges Instrumentarium zur Verfügung.
    Und es ist auch sehr intuitiv, also in paar Stunden kannste da eingearbeitet sein - aber man muss halt mal den Schritt tun, und sich dafür interessieren.
    @ErfinderDesRades

    Ok, gut. Mit der Skalierung stimme ich dir zu. Wenn es der User so will, soll er es auch so bekommen.

    Problematisch ist aus meiner Sicht die Tatsache, auf bspw. 1920x1080 Monitor zu entwickeln (weil Kunden es so auch verwenden) und dann kommt auf einmal ein 1280x720 Monitor dazwischen - möp, nicht mehr alles drauf.
    Ganze Applikation neu designen? Zahlt keiner.

    Deshalb die Idee die Applikation per Code an die Umgebung anzupassen.
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup:

    Acr0most schrieb:

    1920x1080 Monitor ... 1280x720 Monitor dazwischen - möp, nicht mehr alles drauf.
    Naja, wenn man ein flexibles Layout gemacht hätte, würde nachwievor alles drauf gehen - das Thema wäre ühaupt nicht aufgetreten.

    Acr0most schrieb:

    Ganze Applikation neu designen? Zahlt keiner.
    Ja, natürlich neu designen - ist ja auch nicht die Welt.
    Pfusch i.O. bringen, wenn man dessen gewahr wird - langfristig das billigste und profitabelste (Personal-Entwicklung, nicht abwandernde Kunden).

    V.a. ists ja nicht die "ganze Applikation", sondern es ist nur die Oberfläche, und zu 90-100% auch nur ein Rumschieben von Steuerelementen, deren Funktion ühaupt net zu tangieren ist.
    Wie gesagt, das Instrumentarium ist schnell gelernt.

    "Pfusch" ist jetzt ein hartes Wort (Obwohl ich schon finde, im professionellen Bereich sollte man im Layout-System kompetent sein, sonst...). Jdfs. Imo ists prinzipiell absolut stinknormal, dass konzeptionelle Fehler gemacht werden, die sich später rächen. Und die muss man dann korrigieren.
    Wenn dafür kein Geld da ist, dann ist das Portfolio zu knapp kalkuliert.



    Edit: Ach es ist doch Quark hier jetzt über Geld und Projektmanagement zu sprechen! - wieso hasten ühaupt damit angefangen! :cursing:

    RevangeXX bezeichnet sich selbst als "Anfänger", das heißt für mich: "HobbyProgrammierer", "Lernender", und zahlt eh niemand nix.
    Und da hatter jetzt eine echt gute Gelegenheit, was wichtiges zu lernen.

    Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von „ErfinderDesRades“ ()

    Hallo,

    vielen Dank für die Antworten.

    Ich habe mir mehrere andere Anwendungen angesehen und ein "flexibles Layout" ist ein guter Lösungsansatz. Dennoch löst es aber (glaube ich) nicht das Problem vollständig. Wie schon @Acr0most geschrieben hat, kann eine Anwendung z.B. wenn diese nicht in der Größe veränderbar sein soll, einfach viel zu Groß sein.

    Dann müsste der User die Anwendung immer hin und herziehen. Das ist doch auch keine Lösung?

    Ich hoffe ich habe den Ansatz "flexibles Layout" auch richtig verstanden.

    Eine andere Frage ist mir noch untergekommen, und zwar wird gelegentlich WPF als Lösung für solche Probleme genannt.
    Ist das so? Gibt es bei WPF diese Probleme nicht?

    LG Raffael
    In Wpf kann man ebensogut unflexibel layouten, und dadurch Probleme aufwerfen. Abr tatsächlich gibts in Wpf auch einen ViewPort, der das darin angezeigte proportional zusammendrückt - also was ich nicht gut finde, kann man in Wpf leichter bewerkstelligen.

    Zum Flex-Layout nochmal: Guck dir auch das TabControl an, damit kannste ebenfalls enorm Platz sparen (und oft gleichzeitig auch noch eine thematische Strukturierung von Funktionalität anbieten).
    Und sicher wirds immer auch Layout-Wünsche geben, die auch mit flex-Layout nicht vollkommen befriedigend gelöst bekommt.

    Achso zum LayoutSystem habich Tut gebastelt: Layout in Windows.Forms (falls du es noch nicht gefunden hattest)
    Hallo,

    vielen Dank für den Tipp mit dem Tutorial die Videos sind super!

    Ich möchte mich hier nochmal Herzlich bei allen Bedanken die sich die mühe gemacht haben mir so schnell Zusatzworten.
    Wie schon um hundertsten mal erwähnt bin ich ein Programmieranfänger, daher ist diese Materie etwas völlig neues für mich.

    Etwas Frustration bin ich ja seit dem ich mit dem Programmieren begonnen habe gewohnt. Mein Hauptproblem war das ich eigentlich bereits
    eine Komplett fertige Anwendung hatte, aber diese auf Grund von solchen Skalierungsproblemen wieder neu Erstellen/Umbauen muss.

    Ist schon sehr mühsam heutzutage Anwendungen zu entwickeln, die immer und überall gut aussehen.

    Nochmals Danke für eure Antworten.

    LG Raffael
    Freut mich!

    Bisserl Sorge hab ich, ob du auch die anneren Posts des Tuts geguckt hast - das Vid ist sicher am wichtigsten, aber die Debatte oberhalb gibt auch noch eine ganze Reihe interessanter Impulse und Aspekte.

    RevangeXX schrieb:

    Etwas Frustration ... Komplett fertige Anwendung ... wieder neu Erstellen/Umbauen muss.
    Das sollte dich nicht frustrieren - wie (eiglich offtopic, aber nun doch richtig) bereits gesagt: kleine und grosse Umbauten - bis hin zu Komplett-Rewrites - das ist ganz normales Tages-Geschäft.
    (Software-)Entwicklung heisst nicht umsonst "Entwicklung" - bedeutet: dasses nur sehr eingeschränkt planbar ist, dass immer hinzu-gelernt wird, dass immer "Fehler" gemacht werden und zu korrigieren sind - das ist einfach Teil des Aufwands, und letztendlich macht genau das - diese "intrinsische Mangelhaftigkeit" die exorbitante Überlegenheit der Methode "Entwicklung" aus - im Gegensatz zur "Planwirtschaft".

    Ausserdem kommen einem Rewrites immer viel schlimmer vor als sie sich dann erweisen: Weil es ist vielfach einfacher und schneller, etwas "neu" zu entwickeln, was man schon mal entwickelt hatte.
    Zb nach einem verdaddelten Rechner-Umzug waren mir Codes abhanden gekommen, wo bestimmt MannJahre Arbeit drinsteckte - war halb so wild, nach paar Wochen war das ausgebügelt, und die Rewrites fielen auch noch deutlich schlanker aus (nebenbei alte Zöpfe abgeschnitten).

    RevangeXX schrieb:

    Ist schon sehr mühsam heutzutage Anwendungen zu entwickeln, die immer und überall gut aussehen.
    Wie gesagt: Soo mühsam ist das meistens nicht.
    Andererseits - im Hinblick auf Tablets, TouchScreens bis hin zu SmardPhones - das ist mit Flex-Layout im hiesigen Sinne dann auch nicht mehr zu stemmen - will man wirklich alles abdecken, muss man nochmal andere Konzepte auffahren (Schichten-Architektur, austauschbare Oberflächen).