Exporter (0) Imprimer
Développer tout

TableLayoutPanel, classe

Représente un panneau qui dispose dynamiquement son contenu dans une grille composée de lignes et de colonnes.

Espace de noms: System.Windows.Forms
Assembly : System.Windows.Forms (dans system.windows.forms.dll)

[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
public class TableLayoutPanel : Panel, IExtenderProvider
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
public class TableLayoutPanel extends Panel implements IExtenderProvider
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
public class TableLayoutPanel extends Panel implements IExtenderProvider
Non applicable.

Le contrôle TableLayoutPanel réorganise son contenu dans une grille. Étant donné que la disposition s'effectue au moment du design et au moment de l'exécution, elle peut changer dynamiquement lorsque l'environnement de l'application change. Ainsi les contrôles du panneau peuvent être redimensionnés proportionnellement afin de répondre à des modifications telles que le redimensionnement du contrôle parent ou le changement de la longueur du texte suite à la localisation.

Tout contrôle Windows Forms peut être un enfant du contrôle TableLayoutPanel, y compris d'autres instances de TableLayoutPanel. Cela vous permet de construire des dispositions sophistiquées qui s'adaptent aux modifications au moment de l'exécution.

Le contrôle TableLayoutPanel peut se développer pour accepter de nouveaux contrôles lorsqu'ils sont ajoutés, selon la valeur des propriétés RowCount, ColumnCount et GrowStyle. L'affectation d'une valeur 0 à la propriété RowCount ou à la propriété ColumnCount spécifie que le TableLayoutPanel sera indépendant dans la direction correspondante.

Vous pouvez également contrôler la direction d'expansion (horizontale ou verticale) après que le contrôle TableLayoutPanel est rempli de contrôles enfants. Par défaut, le contrôle TableLayoutPanel se développe vers le bas en ajoutant des lignes.

Si vous souhaitez des lignes et des colonnes dont le comportement soit différent du comportement par défaut, vous pouvez contrôler les propriétés des lignes et des colonnes à l'aide des propriétés RowStyles et ColumnStyles. Vous pouvez définir les propriétés des lignes ou des colonnes individuellement.

Le contrôle TableLayoutPanel ajoute les propriétés suivantes à ses contrôles enfants : Cell, Column, Row, ColumnSpan et RowSpan.

Vous pouvez fusionner des cellules dans le contrôle TableLayoutPanel en définissant les propriétés ColumnSpan ou RowSpan sur un contrôle enfant.

Le comportement d'ancrage des contrôles enfants est le même que celui d'autres contrôles conteneurs.

Le comportement d'ancrage des contrôles enfants dans un TableLayoutPanel diffère du comportement de l'ancrage dans d'autres contrôles conteneurs. Si la valeur de la propriété Anchor du contrôle enfant est Left ou Right, le contrôle sera placé à gauche ou à droite de la bordure de la cellule, à une distance qui est la somme de la propriété Margin du contrôle et de la propriété Padding du panneau. Si les valeurs Left et Right sont toutes les deux définies, le contrôle sera ajusté à la largeur de la cellule et les valeurs Margin et Padding seront prises en considération. Le comportement d'ancrage de Top et de Bottom est analogue. Pour plus d'informations, consultez Comment : ancrer et arrimer des contrôles enfants dans un contrôle TableLayoutPanel.

Si vous avez besoin d'un contrôle enfant pour reproduire le comportement d'ancrage par défaut dans d'autres contrôles conteneurs, vous pouvez ajuster les propriétés Margin et Padding pour maintenir une distance constante entre la bordure du contrôle et la bordure de la cellule.

Au moment de l'exécution, l'affectation de la valeur -1 aux propriétés Column et Row d'un contrôle enfant provoquera le déplacement du contrôle vers la première cellule vide du contrôle TableLayoutPanel. La cellule vide sera choisie lors d'une recherche qui s'effectuera de gauche à droite et de haut en bas. Cet ordre dépend de la culture ; il se comportera correctement dans les dispositions de droite à gauche. Au moment du design, les contrôles enfants ne se déplacent pas lorsque ces propriétés ont pour valeur -1.

RemarqueRemarque :

Seuls les contrôles dont la propriété Visible a la valeur true participent aux calculs de disposition du contrôle TableLayoutPanel.

RubriqueEmplacement
Procédure pas à pas : organisation des contrôles dans les Windows Forms à l'aide d'un TableLayoutPanelContrôles Windows Forms
Comment : modifier des colonnes et des lignes dans un contrôle TableLayoutPanelContrôles Windows Forms
Comment : étendre des lignes et des colonnes dans un contrôle TableLayoutPanelContrôles Windows Forms
Comment : aligner et étirer un contrôle dans un contrôle TableLayoutPanelContrôles Windows Forms
Comment : aligner et étirer un contrôle dans un contrôle TableLayoutPanelContrôles Windows Forms
Comment : étendre des lignes et des colonnes dans un contrôle TableLayoutPanelContrôles Windows Forms
Comment : modifier des colonnes et des lignes dans un contrôle TableLayoutPanelContrôles Windows Forms
Procédure pas à pas : organisation des contrôles dans les Windows Forms à l'aide d'un TableLayoutPanelContrôles Windows Forms
Comment : aligner et étirer un contrôle dans un contrôle TableLayoutPanelContrôles Windows Forms
Comment : étendre des lignes et des colonnes dans un contrôle TableLayoutPanelContrôles Windows Forms
Comment : modifier des colonnes et des lignes dans un contrôle TableLayoutPanelContrôles Windows Forms
Procédure pas à pas : organisation des contrôles dans les Windows Forms à l'aide d'un TableLayoutPanelContrôles Windows Forms
Comment : aligner et étirer un contrôle dans un contrôle TableLayoutPaneldv_mclictl
Comment : étendre des lignes et des colonnes dans un contrôle TableLayoutPaneldv_mclictl
Comment : modifier des colonnes et des lignes dans un contrôle TableLayoutPaneldv_mclictl
Procédure pas à pas : organisation des contrôles dans les Windows Forms à l'aide d'un TableLayoutPaneldv_mclictl
Comment : aligner et étirer un contrôle dans un contrôle TableLayoutPaneldv_mclictl
Comment : étendre des lignes et des colonnes dans un contrôle TableLayoutPaneldv_mclictl
Comment : modifier des colonnes et des lignes dans un contrôle TableLayoutPaneldv_mclictl
Procédure pas à pas : organisation des contrôles dans les Windows Forms à l'aide d'un TableLayoutPaneldv_mclictl

L'exemple de code suivant montre comment substituer la méthode OnCellPaint pour créer une apparence personnalisée pour une cellule. Pour trouver un exemple qui utilise le contrôle TableLayoutPanel pour créer des dispositions qui réagissent bien au redimensionnement, consultez Contrôle TableLayoutPanel, exemple.

public class DemoTableLayoutPanel : TableLayoutPanel
{
	protected override void OnCellPaint(TableLayoutCellPaintEventArgs e)
	{
		base.OnCellPaint(e);

        Control c = this.GetControlFromPosition(e.Column, e.Row);

        if ( c != null )
        {
            Graphics g = e.Graphics;

            g.DrawRectangle(
				Pens.Red, 
				e.CellBounds.Location.X+1,
				e.CellBounds.Location.Y + 1,
				e.CellBounds.Width - 2, e.CellBounds.Height - 2);

			g.FillRectangle(
				Brushes.Blue, 
				e.CellBounds.Location.X + 1, 
				e.CellBounds.Location.Y + 1, 
				e.CellBounds.Width - 2, 
				e.CellBounds.Height - 2);
        };
	}
    
}

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
       System.Windows.Forms.Control
         System.Windows.Forms.ScrollableControl
           System.Windows.Forms.Panel
            System.Windows.Forms.TableLayoutPanel
               System.ComponentModel.Design.ByteViewer

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Microsoft .NET Framework 3.0 est pris en charge sur Windows Vista, Microsoft Windows XP SP2 et Windows Server 2003 SP1.

.NET Framework

Prise en charge dans : 3.0, 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft