Il n'y a pas de simple interrupteur sur lequel vous pouvez appuyer pour que cela se fasse automatiquement. La mise à l'échelle automatique permet de résoudre un problème très différent. Vous devez concevoir votre formulaire et ses contrôles en gardant cet objectif à l'esprit.
En particulier, la meilleure façon de procéder est d'utiliser un fichier TableLayoutPanel
contrôle docked pour "remplir" l'ensemble de votre jeu de formulaires son Dock
propriété a DockStyle.Fill
. Cela deviendra essentiellement la "grille de présentation" que vous utiliserez pour disposer les contrôles enfants que vous souhaitez voir apparaître sur le formulaire.
Ensuite, placez chacun de vos contrôles réguliers à l'intérieur des "cellules" de ce fichier. TableLayoutPanel
contrôle. Régler le Anchor
propriété des contrôles enfants pour indiquer comment vous souhaitez qu'ils s'agrandissent lorsque le formulaire est développé (ou rétréci). Par exemple :
- Si vous souhaitez qu'un contrôle s'agrandisse horizontalement lorsque le formulaire est maximisé, vous devez l'ancrer aux bords gauche et droit de la cellule qui le contient.
- Pour le faire croître verticalement, vous devez l'ancrer aux bords supérieur et droit de la cellule.
- Si vous l'ancrez à tous il s'agrandira en se développant dans toutes les directions.
- Si vous l'ancrez à aucun des bords, le contrôle gardera la même taille et se centrera simplement à l'intérieur de la cellule.
Il faut pour cela un peu de de l'eau, de l'air et de l'énergie. Par exemple, vous devrez parfois fixer le ColumnSpan
et/ou RowSpan
des contrôles à l'intérieur de la fenêtre TableLayoutPanel
contrôle pour s'assurer qu'ils sont disposés comme vous le souhaitez, en particulier par rapport aux autres contrôles affichés sur votre formulaire.
Mais c'est à peu près le seul moyen de faire ce que vous souhaitez, et c'est aussi le seul moyen de faire ce que vous voulez. fait fonctionne très bien une fois que vous l'avez mis en place.