c#以编程方式相邻添加控件?

时间:2016-05-29 13:16:44

标签: c# winforms

当我在表单加载

中执行此操作时
    TextBox tb1 = new TextBox();
    TextBox tb2 = new TextBox();

    this.Controls.Add(tb1);
    this.Controls.Add(tb2);

它将一个文本框放在另一个文本框上(不是垂直或水平,而是相互覆盖),这不是我想要的。

我可以手动尝试以编程方式定位它们,但是有一种方法可以让我在添加它们时相邻地显示每个控件吗?

1 个答案:

答案 0 :(得分:2)

您可以使用FlowLayoutPanel 这是一个可以使用Linqpad

测试的简短示例代码
Form f = new Form();
FlowLayoutPanel flp = new FlowLayoutPanel();
flp.Dock = DockStyle.Fill;
flp.FlowDirection = FlowDirection.LeftToRight;
f.Controls.Add(flp);
TextBox t1 = new TextBox();
flp.Controls.Add(t1);
TextBox t2 = new TextBox();
flp.Controls.Add(t2);
f.Show();