我正在为我的应用程序使用 vs2012 (C#),并且我正在寻找一种方法来动态地将标签和文本框添加到表单上的 tabPage。但是因为要添加的控件的数量可能大于 10,所以我也尝试将它们添加到“列”中,因此容器控件只会水平滚动,而不是垂直滚动。
例如,我正在尝试做这样的事情:
LabelControl LabelControl LabelControl LabelControl
TextboxControl TextboxControl TextboxControl TextboxControl
LabelControl LabelControl LabelControl LabelControl
TextboxControl TextboxControl TextboxControl TextboxControl
etc.
“容器”控件是一个 TabPage,所以我知道我必须从中获取高度并使用它。我能够让文本框呈现,但在标签控件位于顶部,然后是下面的文本框时遇到了困难。
这是我到目前为止所得到的:
int height = tabPageBicycle.Height;
Point startLocation = new Point(0, 0);
int previousX = 0;
int previousY = 0;
int currentX = 0;
for (int x = 0; x < 75; x++)
{
Label label = new Label();
TextEdit text = new TextEdit();
label.Text = x.ToString();
text.Text = x.ToString();
label.Location = new Point(currentX, previousY);
tabPageBicycle.Controls.Add(label);
if ((height - previousY) < text.Height)
{
currentX += 100;
previousY = 0;
}
text.Location = new Point(currentX + text.Height + 5, previousY + 50);
previousX = text.Location.X;
previousY = text.Location.Y;
tabPageBicycle.Controls.Add(text);
}
关于我做错了什么的任何线索?