(List)Box Größen automatisch an Bildschirmauflösung anpassen?

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

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    (List)Box Größen automatisch an Bildschirmauflösung anpassen?

    Hallo mal wieder,

    mein erstes Progrämmchen läuft so langsam inhaltlich, nun würde ich es gerne auch hübsch machen.

    Vom Aufbau her habe ich in ca. oberen Viertel ein paar Buttons und Checkboxen.
    Darunter habe ich zwei (List)Boxen die sich den Platz teilen sollen. Auf meinem PC habe ich die Boxen möglichst groß gezogen um den Inhalt komfortabel lesen zu können. Dort schaut alles super aus.

    Nun habe ich das aber mal auf meinem älteren, kleinen Laptop laufen lassen und siehe da, die rechte Box ist halb angeschnitten und der untere Rand fehlt vollkommen ;(
    Eben weil ich dort weniger "Fläche" habe.
    Kann man die (List)Boxen autom. skaliert gestalten? Die Buttons und Checkboxen müssen natürlich nicht angepasst werden an kleinere Bildschirme, aber es wäre super, wenn sich die (List)Boxen den Platz unter den Buttons 50:50 gerecht teilen in der Breite, und nach unten hin sich selbst kurz vom Bildschirmende begrenzen?

    Ist das - mit einem für Anfänger machbaren Aufwand - lösbar?
    @Spawnie Zieh auf Deine GUI ein SplitPanel oder ein TableLayoutPanel mit 2 Feldern.
    Dieses Panel ziehst Du auf und gibst ihm im Designer die entsprechenden Anchor- oder Dock-Properties.
    In jedes der beiden Unter-Panels ziehst Du nun je eine ListBox und gibst ihnen Dock = Fill.
    Feddich.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Spawnie Das ist korrekt.
    Du musst aufpassen, in das Sub-Panel eines TableLayoutPanels kannst Du nur genau ein Control packen. Sollen da mehrere hinein, musst Du zunächst ein normales Panel da reinpacken, auf diesem kannst Du wieder mehrere Controls unterbringen. ;)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    OK, mehrere Elemente muss ich also schachteln indem ich in einer Zelle eine neue Tabelle mit ausreichend Bereichen anlege.
    Passt, werde ich tun. Ich muss mir mal paar Gedanken zum endgültigen Design machen, wo es Sinn macht das flexibel zu machen.
    Bie Buttons oben... das sind eigentlich so wenige, der Monitor der selbst dafür zu klein ist muss wohl noch gebaut werden, es geht ja soweit ichs verstanden habe um die Auflösung und nicht mal um die echte Fläche...
    @Spawnie Bei der Auflösung musst Du die im System eingestellte Schriftgröße beachten, die könnte unterschiedlich sein.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!