Table des matières

Ajouter un composant

table.Controls.Add(new Label(), col, row);

Ajout d'une colonne / ligne

panel.ColumnCount = 2;

Et ne pas oublier :

panel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 150));.

c# - Column Styles not working on TableLayoutPanel - Stack Overflow Archive du 24/02/2014 le 28/04/2020

C'est la même chose pour les lignes, il suffit de remplacer Column par Row.

Par contre, il y a un problème avec Visual Studio 2015, quand on ajoute une ligne dans l'éditeur graphique, ColumnStyles.Add est bien ajouté dans la méthode InitializeComponent mais quand on en supprime une, il est nécessaire de supprimer manuellement la ligne ColumnStyles.Add.

Suppression d'une ligne

Ici, c'est la dernière ligne qui est supprimée.

int numRow = table.RowCount - 1;
for (int i = 0; i < table.ColumnCount; i++)
{
  table.GetControlFromPosition(i, numRow).Dispose();
}
 
table.RowStyles.RemoveAt(numRow);
table.RowCount = numRow;

How to insert or delete specific row in tablelayoutpanel_ Archive du 16/03/2011 le 28/04/2020

Ajouter une scrollbar automatiquement

tableLayoutPanel1.Padding = new Padding(0, 0, SystemInformation.VerticalScrollBarWidth, 0);
tableLayoutPanel1.AutoScroll = true;

L'intérêt du padding est que l'ascenseur vertical (ou horizontal) ne prenne pas de place lorsqu'il apparaît, ce qui ce qui pourrait entraîner l'apparition de l'ascenseur horizontale (ou vertical). Après essai, il n'y a pas l'air d'avoir besoin de mettre SystemInformation.HorizontalScrollBarHeight en quatrième valeur du Padding. Voir exemple ci-dessous. c# - vertical and horizontal scrollbars appear when only the horizontal should - Stack Overflow Archive du 16/08/2014 le 28/04/2020

Scrollbar avec problèmeScrollbar sans problème