Данные (в парах) звучат так, как будто они лучше подходят для TableLayoutPanel
, но теория та же самая; просто позвоните .Controls.Add(...)
и оно должно работать:
FlowLayoutPanel panel = new FlowLayoutPanel();
Form form = new Form();
panel.Dock = DockStyle.Fill;
form.Controls.Add(panel);
for (int i = 0; i < 100; i++)
{
panel.Controls.Add(new TextBox());
}
Application.Run(form);
или TableLayoutPanel
:
TableLayoutPanel panel = new TableLayoutPanel();
Form form = new Form();
panel.Dock = DockStyle.Fill;
panel.ColumnCount = 2;
form.Controls.Add(panel);
for (int i = 0; i < 100; i++)
{
panel.Controls.Add(new Label { Text = "label " + i });
panel.Controls.Add(new TextBox { Text = "text " + i });
}
Кроме того, мне интересно, будет ли PropertyGrid
лучше соответствовать вашим потребностям? Он будет обрабатывать всю логику «get value», «show value», «parse value», «store value» и может быть связан с такими вещами, как ICustomTypeDescriptor
, чтобы разрешить динамические свойства.