none
Größenänderung der Forms in VS 2019 16.8 Preview 5 mit .NET5 RRS feed

  • Frage

  • Hallo an alle,

    eventuell bin ich hier falsch oder zu früh, aber ab VS 2019 16.8 Preview 4 ist es ja nun endlich möglich, mit VB unter .NET5 Projekte zu erstellen. Erfreulicherweise gelingt es recht einfach, bereits vorhandene VB-Projekte umzusetzen, sofern diese keine veralteten Methoden oder Controls verwenden.

    Nun meine Frage an die Microsoft Insider:
    bei der Umsetzung vorhandener Projekte werden automatisch alle Controls auf den Formen vergrößert und die Schriftart auf Segoe UI geändert. Da die Vergrößerung der Controls bis zu 20% ist, mag das bei der Verwendung von hochauflösenden 4K Monitoren vielleicht sinnvoll sein, aber zumindest unsere Kunden verwenden bis heute zu 90% Monitore mit Full-HD Auflösung. Auf diesen Monitoren nehmen die Fenster eine Größe an, die eine sinnvolle MDI-Mehrfensteranwendung unmöglich machen. Es ist natürlich möglich die Größe der Controls nachträglich manuell zu ändern, aber bei großen Projekten müssten dann 10tsde Controls geändert werden, was nicht zumutbar ist.

    Ist es möglich diese automatische Vergrößerung der Controls zu unterdrücken, oder gibt es eine Möglichkeit dies für das ganze Projekt oder alle Controls einer Form zu verändern.

    Nur zur Ergänzung, die Migration wurde durch Anlegen eines neuen Projektes, mit Zielframework .NET5 RC2 durchgeführt. Danach wurden alle Projektdateien aus dem alten Projektordner in den neuen kopiert.





    • Bearbeitet immoso Freitag, 23. Oktober 2020 13:37
    Freitag, 23. Oktober 2020 08:36

Antworten

  • Hallo immoso,

    Du kannst versuchen, eine benutzerdefinierte Resize-Klasse zu verwenden, die die Größe aller Steuerelemente dynamisch ändert und sie neu positioniert, wenn die Größe eines Formulars geändert wird, einschließlich der Schriftgrößen. Der folgende Artikel enthält zusätzliche Informationen:
    VB.NET - Dynamically Resize and Reposition All Controls when Form is Resized, Including Font Sizes

    Gruß,

    Ivan Dragov

    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    • Als Antwort markiert immoso Freitag, 30. Oktober 2020 08:34
    Montag, 26. Oktober 2020 10:21
    Moderator

Alle Antworten

  • Hallo immoso,

    Du kannst versuchen, eine benutzerdefinierte Resize-Klasse zu verwenden, die die Größe aller Steuerelemente dynamisch ändert und sie neu positioniert, wenn die Größe eines Formulars geändert wird, einschließlich der Schriftgrößen. Der folgende Artikel enthält zusätzliche Informationen:
    VB.NET - Dynamically Resize and Reposition All Controls when Form is Resized, Including Font Sizes

    Gruß,

    Ivan Dragov

    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    • Als Antwort markiert immoso Freitag, 30. Oktober 2020 08:34
    Montag, 26. Oktober 2020 10:21
    Moderator
  • Hallo Ivan,

    danke für den Tipp! Ich habe das ganze gerade mal ausprobiert und es funktioniert, wenn man die Höhe- Breite, oder beides der Form, während der Laufzeit verändert. 
    Ich muss damit aber noch ein wenig experimentieren, da auch die Schriftgröße verändert wird, welche bei der Migration des Projektes jedoch gleich geblieben ist. Dadurch wird bei der Verkleinerung der Controls die Schrift sehr klein. Ideal wäre es, wenn man das ganze mit der eingestellten Bildschirmauflösung verknüpfen könnte. Aber der Ansatz ist schon mal in etwa dass was ich gesucht habe.

    Gruß

    Michael Jockwig

    Montag, 26. Oktober 2020 12:43
  • Hallo,

    der Tipp von Ivan funktioniert nach einigen Modifikationen sehr gut. Das ganze hat jedoch den Nachteil, dass bei niedriger als 4K auflösenden Monitoren das Fenster erst kurz in der ursprünglichen Größe zu sehen ist und erst dann das Fenster mit der angepassten Größe.

    Hat vielleicht jemand von euch eine Idee wie man erreicht, dass das Fenster erst bei der reduzierten Größe angezeigt wird?

    Gruß

    Michael Jockwig

    Sonntag, 8. November 2020 16:59