WinForms Auto Scaling Code Writing Guide
Einführung
In WinForms mangelt es nicht an leistungsstarken automatischen Skalierungsfunktionen. .NET 2.0 und spätere Versionen verfügen über erhebliche Verbesserungen bei der automatischen Skalierung. In diesem Artikel werden Designrichtlinien und -beschränkungen untersucht, um Entwicklern beim Schreiben von WinForms-Code zu helfen, der sich an verschiedene Systemschriftarten und DPI-Einstellungen anpasst.
Zoom unterstützt begrenzte Steuerelemente
Einige WinForms-Steuerelemente haben Einschränkungen bei der automatischen Skalierung:
-
Label-Steuerelement, wenn die AutoSize-Eigenschaft auf False gesetzt ist und die Font-Eigenschaft geerbt wird. Bitte stellen Sie die Schriftart im Eigenschaftenfenster explizit auf Fett ein.
-
ListView Die Spaltenbreite des Steuerelements. Überschreiben Sie die form.ScaleControl-Methode, um die Spaltenbreite anzupassen.
-
SplitContainer Panel1MinSize-, Panel2MinSize- und SplitterDistance-Eigenschaften des Steuerelements.
-
TextBox-Steuerelement, wenn die MultiLine-Eigenschaft auf True gesetzt ist und die Font-Eigenschaft erbt. Bitte legen Sie die Schriftart explizit fest.
-
ToolStripButton Bild des Steuerelements. Bearbeiten Sie die Eigenschaften ToolStrip.AutoSize und ToolStrip.ImageScalingSize im Konstruktor des Formulars.
-
PictureBox Die SizeMode-Eigenschaft des Steuerelements muss auf Zoom oder StretchImage gesetzt sein.
-
TreeView Bild des Steuerelements. Passen Sie die Eigenschaft ImageList.ImageSize entsprechend der DPI an.
-
Formular Die Größe des Steuerelements. Skalieren Sie ein Formular mit fester Größe nach der Erstellung manuell.
Auto-Scaling-Designrichtlinien
Um eine effektive automatische Skalierung zu gewährleisten, befolgen Sie bitte diese Richtlinien:
-
Setzen Sie AutoScaleMode auf Font: Für alle Containersteuerelemente sollte AutoScaleMode auf Font eingestellt sein, um DPI- und Systemschriftartänderungen zu berücksichtigen.
-
AutoScaleDimensions festlegen: Verwenden Sie AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);, vorausgesetzt, 96 dpi und die Schriftart MS Sans Serif. Bitte passen Sie diese Werte entsprechend der gewählten DPI und Schriftart an.
-
Entwerfen mit 96 dpi: Vermeiden Sie die direkte Anwendung der Eigenschaften „Anker rechts“ oder „Unten“ auf Benutzersteuerelemente. Bitte verwenden Sie Panel als Zwischenprodukt.
-
Umgang mit dynamischen Steuerelementhinzufügungen: Bei dynamisch hinzugefügten Steuerelementen pausieren Sie das Layout, legen Sie AutoScaleMode und AutoScaleDimensions fest und setzen Sie dann das Layout fort, bevor Sie es hinzufügen.
-
Vermeiden Sie die Verwendung von Form.MaxSize im Designer: Legen Sie MaxSize dynamisch fest, um Skalierungsbeschränkungen zu vermeiden.
-
Ankerung oder Andockung verwenden: Stellen Sie sicher, dass alle Steuerelemente im Container Verankerung oder Andockung für eine konsistente automatische Skalierung verwenden.
-
Formulargröße im Designer begrenzen: Halten Sie die Größe des Designer-Formulars unter 1000 x 680, um eine optimale Skalierung bei verschiedenen DPI-Einstellungen zu gewährleisten.
Das obige ist der detaillierte Inhalt vonWie kann ich automatisch skalierenden WinForms-Code schreiben, der sich an verschiedene DPI- und Schriftarteinstellungen anpasst?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn