Redimensionner le panneau à l'ajustement des éléments contenus dans les windows forms
Je suis entrain de créer un panneau réductible élément, qui serait essentiellement un élément de panneau avec un élément de bouton et un élément de panneau en dessous du bouton. En cliquant sur le bouton entraîne le voisin panneau d'avoir Visible = false
. Je voudrais redimensionner le panneau lorsque l'enfant panneau est fixé à l'invisible.
Je l'ai fait manuellement, par la définition de la Size
propriété de la somme des largeurs et hauteurs des éléments visibles (soit le bouton ou le bouton et le groupe d'enfants.)
Je suis curieux de savoir si il y avait un moyen de forcer le redimensionnement de l'contenant panneau sans manuellement appeler Size
.
Je suppose que je suis à la recherche de l'inverse de la propriété Dock=Fill
, qui redimensionne automatiquement les éléments en fonction de la taille de leur contenant l'élément.
Merci d'avance.
Quel est le point de redimensionnement quand personne ne peut le voir?
Passant: Désolé, la question peut avoir été rédigé drôle. Il y a deux panneaux. L'un est celui qui va à l'invisible, et l'autre contient le bouton et l'invisible panneau. Le panneau extérieur ont besoin de rétrécir lorsque le panneau intérieur devient invisible, sinon ça ne s'effondre pas, il est juste en train de disparaître, mais toujours occuper le même espace. J'ai essayé de faire quelque chose le long des lignes de ce que vous voyez dans Visual Studio Formulaires boîte à outils lorsque vous développez et de l'effondrement de dire "Commun" Commandes de la partie.
OriginalL'auteur user420667 | 2011-09-27
Vous devez vous connecter pour publier un commentaire.
Comment faire:
et puis, au lieu de modifier la visibilité, ce faire:
et quand vous voulez le ramener:
(panel1 est sur le panneau arrière)
OriginalL'auteur ispiro
J'ai juste essayé la réponse donnée par ispiro. Vous ne besoin de supprimer et ajouter le contrôle. Réglage
Visible
peut travailler. Cela dépend du moment où vous effectuez la mise en page. Si séance 2-effectue la mise en page avant de panel1, séance 2-ne change pas de taille. Pour le rendre plus facile, utilisez les parentsPerformLayout
à la place.Il est utilisé comme ceci:
OriginalL'auteur Jeson Martajaya