Guide de rédaction de code de mise à l'échelle automatique WinForms
Présentation
WinForms ne manque pas de puissantes capacités de mise à l'échelle automatique. .NET 2.0 et les versions ultérieures présentent des améliorations significatives en matière de mise à l'échelle automatique. Cet article explore les directives et limitations de conception pour aider les développeurs à écrire du code WinForms qui s'adapte à diverses polices système et paramètres DPI.
Zoom prend en charge des contrôles limités
Certains contrôles WinForms ont des limitations avec la mise à l'échelle automatique :
Contrôle -
Label, si la propriété AutoSize est définie sur False et que la propriété Font est héritée. Veuillez définir explicitement la police en gras dans la fenêtre des propriétés.
-
ListView La largeur de colonne du contrôle. Remplacez la méthode form.ScaleControl pour ajuster la largeur des colonnes.
Propriétés -
SplitContainer Panel1MinSize, Panel2MinSize et SplitterDistance du contrôle.
Contrôle -
TextBox, si la propriété MultiLine est définie sur True et hérite de la propriété Font. Veuillez définir la police explicitement.
-
ToolStripButton Image du contrôle. Manipulez les propriétés ToolStrip.AutoSize et ToolStrip.ImageScalingSize dans le constructeur du formulaire.
-
PictureBox La propriété SizeMode du contrôle doit être définie sur Zoom ou StretchImage.
-
TreeView Image du champ. Ajustez la propriété ImageList.ImageSize en fonction du DPI.
-
Formulaire La taille du contrôle. Redimensionnez manuellement un formulaire de taille fixe après sa création.
Directives de conception à mise à l'échelle automatique
Pour garantir un autoscaling efficace, veuillez suivre ces directives :
-
Définissez AutoScaleMode sur Font : Tous les contrôles de conteneur doivent avoir AutoScaleMode défini sur Font pour s'adapter aux modifications de DPI et de police système.
-
Définissez AutoScaleDimensions : Utilisez AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);, en supposant une police de 96 dpi et MS Sans Serif. Veuillez ajuster ces valeurs en fonction du DPI et de la police sélectionnés.
-
Conception à 96 dpi : Évitez d'appliquer les propriétés Anchor Right ou Bottom directement aux contrôles utilisateur. Veuillez utiliser Panel comme intermédiaire.
-
Gestion des ajouts de contrôles dynamiques : Pour les contrôles ajoutés dynamiquement, suspendez la mise en page, définissez AutoScaleMode et AutoScaleDimensions, puis reprenez la mise en page avant l'ajout.
-
Évitez d'utiliser Form.MaxSize dans le concepteur : Définissez MaxSize de manière dynamique pour éviter les limitations de mise à l'échelle.
-
Utiliser l'ancrage ou l'ancrage : Assurez-vous que tous les contrôles du conteneur utilisent l'ancrage ou l'ancrage pour une mise à l'échelle automatique cohérente.
-
Limiter la taille du formulaire dans le concepteur : Gardez la taille du formulaire du concepteur en dessous de 1 000 x 680 pour une mise à l'échelle optimale avec différents paramètres DPI.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!