3 votes

Contrôles étendus pour remplir l'espace lorsqu'une boîte de dialogue est redimensionnée

J'ai une boîte de dialogue avec une colonne sur le côté droit remplie de boutons. La boîte de dialogue est construite avec Windows Forms. J'ai une maquette sur le lien suivant : dialogue original (Je l'aurais bien incluse mais apparemment je ne suis pas autorisé à utiliser les balises d'image)

J'aimerais que les boutons de la colonne de droite se redimensionnent pour remplir l'espace vertical restant lorsque la boîte de dialogue se redimensionne. Il m'importe peu de savoir si les boutons augmentent simplement de taille ou s'ils conservent la même taille alors que les espaces entre eux augmentent. Je veux simplement que les boutons aillent du haut vers le bas (j'ai une maquette pour cela aussi mais apparemment je ne peux inclure qu'un seul lien).

J'ai essayé d'héberger les boutons dans un FlowLayoutPanel, mais ils n'augmentent pas au fur et à mesure que la boîte de dialogue s'étire, je n'obtiens qu'un espace blanc en bas lorsque je n'ai plus de boutons. J'ai également essayé un TableLayoutPanel et j'ai obtenu le même résultat, mais je l'ai peut-être mal utilisé. Quelqu'un a-t-il une idée de la manière dont je pourrais réaliser cela ?

Merci d'avance, Jérémy

3voto

AMissico Points 12837

Pour commencer. Utilisez le panneau TableLayoutPanel et définissez sa propriété Anchor en haut, en bas, à gauche et à droite. Définissez les lignes et les colonnes en pourcentage selon vos besoins. Je suggère que chaque contrôle ait sa propre cellule. Notez que chaque contrôle dans une "cellule" peut avoir ses propriétés Dock et Anchor définies selon les besoins.

0voto

NYSystemsAnalyst Points 6197

Vous pouvez le faire avec un TableLayoutPanel. Créez une colonne pour les boutons, chaque bouton ayant sa propre ligne / cellule dans la colonne. Définissez un pourcentage égal de hauteur pour chaque rangée (s'il y a 10 boutons, chaque rangée aura une hauteur de 10 %) et ancrez le TableLayoutPanel sur le côté droit de l'écran. Ensuite, placez les boutons dans leurs rangées et réglez-les sur l'ancrage complet. Lorsque la boîte de dialogue s'agrandit, le TableLayoutPanel s'agrandit pour remplir tout le côté droit de l'écran, chaque rangée s'ajuste proportionnellement et chaque bouton s'agrandit pour s'adapter à la nouvelle taille de la rangée.

Il se peut que vous deviez l'adapter un peu à vos besoins, notamment en ce qui concerne les liens 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