WinForms-Steuerelementskalierung: für optimale automatische Anpassung in Umgebungen mit hoher DPI
Obwohl allgemein davon ausgegangen wird, dass WinForms in Umgebungen mit hohen DPI-Werten über begrenzte Autoskalierungsfunktionen verfügt, haben .NET 2.0 und höher seine Autoskalierungsfunktionen tatsächlich erheblich verbessert. Um diese Verbesserungen jedoch optimal nutzen zu können, müssen Entwickler bestimmte Designrichtlinien befolgen.
Steuerelemente, die keine automatische Skalierung unterstützen
Einige Steuerelemente haben Einschränkungen bei der Skalierung:
AutoSize
deaktiviert ist und es sich bei der Schriftart um eine geerbte Schriftart handelt, legen Sie das Attribut Font
explizit fest, um Skalierungsfehler zu verhindern. ScaleControl
-Methode des Formulars, um Spaltenbreitenanpassungen zu verarbeiten. Panel1MinSize
, Panel2MinSize
und SplitterDistance
. MultiLine
-Attribut aktiviert ist und die Schriftart eine geerbte Schriftart ist, legen Sie das Font
-Attribut explizit fest. CreateGraphics.DpiX
basierend auf .DpiY
und ToolStrip.ImageScalingSize
an. SizeMode
-Attribut auf Zoom
oder StretchImage
gesetzt ist. CreateGraphics.DpiX
basierend auf .DpiY
und ImageList.ImageSize
fest. Designrichtlinien
1. Containerkontrolle
AutoScaleMode
aller Containersteuerelemente auf Font
. AutoScaleDimensions
das Attribut new System.Drawing.SizeF(6F, 13F)
zu (passen Sie es bei Bedarf an). 2. Designer-Konfiguration
AutoSize
des Containersteuerelements aktiviert ist. 3. Schriftartenverwaltung
Font
nur auf der Blattkontrollebene oder im Konstruktor des Basisformulars fest (für anwendungsweite Standardeinstellungen). Font
im Basisformular wird AutoScaleDimensions
die Designerdatei entsprechend aktualisiert. 4. Anlegen und Ankern
Dock
anstelle von Anchor Right
oder Bottom
. 5. Dynamisch hinzugefügte Steuerelemente
AutoScaleDimensions
und AutoScaleMode
festlegen und dann mit dem Layout fortfahren. 6. Basisklasse und AutoScale
AutoScaleMode
auf Inherit
gesetzt sein. Wenn Sie einen anderen Wert festlegen, wird die automatische Skalierung möglicherweise deaktiviert. 7. Fenstergrößenbeschränkung
MaxSize
Attribute. Legen Sie OnLoad
und MinSize
auf die skalierten Dimensionen im Konstruktor oder im MaxSize
-Ereignis fest. Das obige ist der detaillierte Inhalt vonWie kann ich die Skalierung von WinForms-Steuerelementen für die automatische Anpassung in Umgebungen mit hohen DPI-Werten optimieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!