Outils pour utilisateurs

Outils du site


lang:csharp:ihm:form:tablelayoutpanel

Ceci est une ancienne révision du document !


Ajout d'une colonne / ligne

panel.ColumnCount = 2;

Et ne pas oublier :

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

Source, Archive

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;

Source, Archive

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. Source, Archive.

Scrollbar avec problèmeScrollbar sans problème

lang/csharp/ihm/form/tablelayoutpanel.1493369606.txt.gz · Dernière modification : 2017/04/28 10:53 de root