web-dev-qa-db-fra.com

comment garder les objets en place lorsque la fenêtre est redimensionnée en C #

Comment puis-je conserver les objets de ma fenêtre (boutons, étiquettes, etc.) au centre lorsque la fenêtre est redimensionnée?

Actuellement, j'ai 3 boutons dans un Windows Form. Lorsque j'agrandis la fenêtre, les boutons restent dans la partie supérieure gauche de la fenêtre. Je veux qu'ils soient au centre comme ils l'étaient quand la fenêtre n'était pas maximisée.

De l'aide?

11
PHP Developer

Vous devez définir les propriétés d'ancrage de l'objet sur none ,

Cela le gardera au milieu.

27
SirDuckduck

Pour garder votre mise en page fixe et au milieu, procédez comme suit:

  1. Sur votre Form, ajoutez TableLayoutPanel.
  2. Définissez sa propriété Dock sur Fill.
  3. Créez 3 lignes et 3 colonnes.
  4. Modifier les lignes et les colonnes - définissez 50% pour la première et la dernière colonne et la dernière ligne.
  5. Définissez une taille fixe pour la ligne du milieu et la colonne.
  6. Placez Panel ou tout autre chose de votre choix à la 2e rangée et à la 2e colonne. Ce sera toujours au milieu.
4
Grzegorz W

Définissez la propriété Anchor de vos contrôles correctement. Par défaut, votre contrôle est ancré à Top,Left. Si vous effacez cette propriété (essentiellement ancrée à rien), votre bouton restera centré.

(Il peut sembler que vous souhaitiez vous ancrer aux quatre côtés, mais en réalité, cela va redimensionner votre bouton pour remplir le formulaire!)

2
Dan Puzey

Si vous utilisez le concepteur visuel de Visual Studio (et que vous n'avez aucune raison de ne pas le faire), la propriété de votre contrôle que vous recherchez pour gérer la manière dont ils sont placés dans un formulaire est "Ancre". Si vous créez un nouveau contrôle, il est défini sur "En haut à gauche", ce qui signifie qu'il resterait dans une position fixe en haut à gauche de votre formulaire. Vous pouvez changer cela pour les ancrer à n'importe quoi.

Vous pouvez également désactiver les ancres et contrôler leur position en remplaçant la méthode Resize du formulaire.

0
LightStriker