2010-07-20 6 views
1

C# Winforms:Afficher/Masquer pour les cellules de TableLayout

Mon tableLayout a une seule colonne mais elle a trois lignes. Je veux être en mesure d'afficher/cacher les lignes. J'ai fait une recherche google et trouvé cela, ça marche parfaitement pour cacher la ligne Mais que faire pour le montrer à nouveau? régler la hauteur à un nombre codé en dur? Pas une bonne idée ...

tableLayoutPanel1.RowStyles[0].SizeType = SizeType.Absolute; 
    tableLayoutPanel1.RowStyles[0].Height = 0; 

Que proposez-vous pour accomplir cela?

Répondre

2

Je dirais que vous devez définir la propriété .Visible pour chaque contrôle que vous souhaitez afficher/masquer. Vraisemblablement, au moins une ligne et une colonne sont définies à 100% (elles absorbent l'espace supplémentaire) - cette ligne/colonne sera redimensionnée lorsque ces contrôles ne sont plus visibles. J'espère que cela pourra aider.

+0

Y a-t-il un moyen de dire "pour chaque contorl dans tableLayoutPanel1.RowStyles [0]"? – Bohn

+0

Est-ce que ce tablelayout sera vraiment dynamique? Si oui, je crois que votre seule autre option est de faire une boucle dans la collection tableLayoutPanel1.Controls. Mais je dirais qu'il serait plus clair si vous avez explicitement fait un show/hide sur des contrôles spécifiques comme customerGroupBox, okButton, etc. –

Questions connexes