我有一个生成表单和控件的类。按钮,无线电控件,复选框和标签之间的控件有所不同。我们的想法是整齐地创建每个控件上方带有标签的表单。问题是我似乎无法找到整齐地组织/分隔它们的公式或方法。当我只有文本框时,它工作正常,但我不知道如何处理更大的控件,如复选框列表。以下是我处理文本框的示例:
case "Text":
TextBox tbx = new TextBox();
tbx.Name = df.Value.Name;
tbx.Text = (df.Value.DefValue != null) ? df.Value.DefValue : "";
tbx.Location = new Point(lbl.Location.X, lbl.Location.Y + 20);
f.Controls.Add(tbx);
break;
请注意,这一切都在foreach
循环中。这是它之前的部分(标签):
if (i == 0)
{
lbl.Location = new Point(10, 10);
}
else
{
lbl.Location = new Point(10, (i * 50) + 10);
}
这样可以整齐地对文本框和标签进行排序。谁能为我提供一些如何处理不同控件的建议?我想将它们放在彼此之下,但是从每个控件的底部到下一个标签的顶部保持至少10个像素的间距。
提前谢谢。