1

我有一个生成表单和控件的类。控件在按钮、单选控件、复选框和标签之间有所不同。这个想法是在每个控件上方巧妙地创建带有标签的表单。问题是我似乎找不到整齐组织/间隔它们的公式或方法。当我只有文本框时它工作得很好,但我不确定如何处理更大的控件,比如复选框列表。这是我如何处理文本框的示例:

            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 像素的间距。

先感谢您。

4

1 回答 1

2

使用表格布局。您可以在代码隐藏文件中查看设计器是如何做到的。

对于间距,填写控件的“边距”属性。5 在顶部和 5 在底部应该这样做。

于 2010-06-22T08:51:00.047 回答