J'essaie d'ajouter dynamiquement certaines commandes (actuellement zones de texte et étiquettes) à un formulaire. Il n'y a pas un nombre déterminé de paires à dessiner ».Comment ajouter dynamiquement des paires de contrôles
Exemple de ce que j'essaie d'atteindre. Comme vous pouvez le voir, la table manque d'espace, elle se déplace donc vers la droite. Actuellement, j'utilise un TableLayoutPanel
dans un FlowLayoutPanel
.
Column 0
contient le label
et column 1
contient le textbox
.
Comment puis-je obtenir le FlowLayoutPanel
pour diviser le tableau?
private void Form1_Load(object sender, EventArgs e)
{
FlowLayoutPanel flp = new FlowLayoutPanel()
{
Location = new Point(0, 0),
Dock = DockStyle.Fill,
AutoSize = false,
FlowDirection = FlowDirection.TopDown,
AutoScroll = true,
BorderStyle = BorderStyle.Fixed3D,
WrapContents = true
};
Controls.Add(flp);
TableLayoutPanel tlp = new TableLayoutPanel()
{
ColumnCount = 2,
Height = ClientSize.Height,
BackColor=Color.AliceBlue
};
flp.Controls.Add(tlp);
for (int i = 0; i < 50; i++)
{
Label _label = new Label()
{
Text = i.ToString("00"),
AutoSize = true
};
tlp.Controls.Add(_label, 0, i);
TextBox _textbox = new TextBox();
tlp.Controls.Add(_textbox, 1, i);
}
Utilisez un contrôle conçu pour les champs dynamiquement en ajoutant, comme [ 'DataGridView'] (https://msdn.microsoft.com/en -us/library/system.windows.forms.datagridview (v = vs.110) .aspx), pas un 'TableLayoutPanel'. –