3 votes

Répartition des contrôles pour occuper l'espace lorsqu'une boîte de dialogue est redimensionnée

J'ai un dialogue avec une colonne sur le côté droit remplie de boutons. Le dialogue est construit avec Windows Forms. J'ai une maquette sur le lien suivant : dialogue original (Je l'aurais inclus mais apparemment je ne suis pas autorisé à utiliser des balises d'image)

J'aimerais que les boutons dans la colonne de droite se redimensionnent pour remplir l'espace vertical restant lorsque le dialogue se redimensionne. Peu importe que les boutons augmentent simplement de taille ou que les boutons restent de la même taille tandis que les espaces entre eux augmentent. Je veux simplement que les boutons aillent du haut vers le bas. (J'ai également une maquette pour cela mais apparemment je ne peux inclure qu'un seul lien)

J'ai essayé de placer les boutons dans un FlowLayoutPanel mais ils n'augmentent pas lorsque le dialogue s'étire, je n'obtiens que de l'espace vide en bas une fois que j'ai épuisé les boutons. J'ai également essayé un TableLayoutPanel et j'ai obtenu le même résultat mais j'ai peut-être mal utilisé. Est-ce que quelqu'un a des idées sur la façon dont je pourrais accomplir cela ?

Merci d'avance, Jeremy

3voto

AMissico Points 12837

Pour commencer, utilisez le TableLayoutPanel, définissez sa propriété Anchor sur top, bottom, left et right. Définissez les lignes et colonnes en pourcentage selon vos besoins. Je vous suggère de placer chaque contrôle dans sa propre cellule. Notez que chaque contrôle dans une "cellule" peut avoir ses propriétés Dock et Anchor configurées selon vos besoins.

0voto

NYSystemsAnalyst Points 6197

Vous pouvez faire cela avec un TableLayoutPanel. Créez une colonne pour les boutons, chaque bouton ayant sa propre ligne / cellule dans la colonne. Définissez chaque ligne pour avoir un pourcentage pair pour la hauteur (si vous avez 10 boutons, chaque ligne serait de 10 %), et ancrez le TableLayoutPanel sur le côté droit de l'écran. Ensuite, placez les boutons dans leurs lignes et ajustez-les pour qu'ils soient totalement ancrés. Ensuite, lorsque la boîte de dialogue s'agrandit, le TableLayoutPanel s'agrandira pour remplir tout le côté droit de l'écran, chaque ligne s'ajustera proportionnellement et chaque bouton s'agrandira pour s'adapter à la nouvelle taille de ligne.

Vous devrez peut-être ajuster cela un peu pour répondre à vos besoins, en particulier en ce qui concerne son interaction avec les autres contenus de la fenêtre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X