如何从左到右对齐按钮

时间:2012-06-20 16:03:22

标签: c# winforms

所以我正在四处寻找有关如何动态创建按钮的一些想法。我找到了post,我能够将其纳入我的项目中。不幸的是,这些按钮是垂直创建的。在Windows窗体中是否有一种方法可以从左到右水平对齐它们?

2 个答案:

答案 0 :(得分:2)

听起来像是FlowLayoutPanel控件的好例子。我们有一些旧代码,它们相对于彼此移动按钮。我用FlowLayoutPanel替换它,它让生活更轻松。

您可以将按钮水平或垂直放置,在每个按钮周围设置填充以使它们等距离分开,设置用于对齐面板内控件的属性,允许它们在用户调整窗体大小时流入多行等,等等以后也可以更轻松地进行维护。想象一下,在其他10个中间添加一个按钮,然后进行手动调整,使按钮不会相互重叠等。

听起来你不会有最后一个问题,因为你是在运行时动态创建的。仍然,您可以创建一个按钮并将其放入FlowLayoutPanel,并让控件处理它相对于其他控件的实际位置。另外,如果用户调整表单大小,你就不必担心移动它们,只要你可以使用多行按钮...

答案 1 :(得分:0)

只需为每个按钮设置位置属性:

int lastX = 0;
for (int i = 0; i < 4; i++) {
  Button b = new Button();
  b.Location = new Point(lastX, 0);
  this.Controls.Add(b);
  lastX += b.Width;
}