2011-11-17 2 views
7

Comment spécifier qu'un bouton se centre dans un conteneur sans avoir à spécifier un emplacement? Est-ce même possible?Boutons centraux dans un conteneur

L'objectif est de pouvoir centrer plusieurs boutons dans un panneau sans avoir à effectuer de calculs sur leur emplacement.

+0

Que se passerait-il si 2 boutons disaient qu'ils voulaient être centrés? – McKay

+0

Petite marge entre eux. Comme quoi float se comporterait dans Css –

+0

@ MatthewCox que diriez-vous d'utiliser la propriété Anchor des boutons dans le panneau latéral ... –

Répondre

15

Je sais qu'il est possible de centrer certaines commandes sur un formulaire , mais je ne suis pas sûr d'un panneau. Quoi qu'il en soit:

  • Désactiver les Left et Right ancres de votre commande si vous voulez que vos commandes de rester centrés horizontalement, et les Top et Bottom ancres si vous voulez que vos commandes de rester centré verticalement,
  • Dans la fenêtre du concepteur , sélectionnez votre contrôle,
  • dans le menu VS 'Format', cliquez sur 'Centre sous forme', puis 'horizontalement' et/ou 'verticalement '.

Si vous souhaitez centrer plusieurs commandes côte à côte, sélectionnez-les toutes et exécutez les étapes ci-dessus.

Les contrôles restent alors centrés dans le formulaire lorsque l'utilisateur redimensionne la fenêtre.

+1

Vous avez c'est vrai, mais je pense que vous vouliez dire les ancres "Left and Top". – LarsTech

+0

@Otiel Cela ne se comporte pas comme j'ai besoin.En fin de compte, si vous examinez le 'InitializeComponent()' Il est toujours en train de spécifier un emplacement calculé sans lui donner d'ancres. –

+0

@Otiel Très agréable de savoir quand la position doit rester fixe et est connue à la compilation. Cependant, ne fonctionne pas dans mon cas. –

2

Je ne suis pas sûr à 100% de ce que vous demandez, mais essayez d'utiliser un TableLayoutPanel, et déposez un bouton dans chaque cellule de la table. Si vous ancrez TableLayoutPanel en haut, à gauche, en bas & À droite, la table va se développer et se rétrécir avec le formulaire, mais chaque bouton "flottera" par rapport au coin supérieur gauche de sa cellule contenant.

Désactiver tout ancrage gardera le TableLayoutPanel à son emplacement relatif dans votre formulaire, mais vos boutons resteront espacés uniformément les uns des autres.

Entre l'ancrage de contrôle standard et/ou le TableLayoutPanel vous devriez être capable de trouver le type d'ancrage que vous désirez.