2012-06-20 154 views
2

所以我周围挖得到关于如何动态创建按钮的一些想法。我发现了一个post我能纳入我的项目。不幸的是,这些按钮是垂直创建的。有没有办法以窗口形式从左到右水平对齐它们?如何对齐按钮从左至右

+0

有你累了创建FlowLayoutPanel中里面的按钮? – Amicable

回答

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; 
} 
+0

哇,向下投票将从左到右为OP想要的按钮。艰难的人群。 – LarsTech

+0

这似乎对我有效。非常感谢你。对于提出意见和建议的每个人,如果进一步行进,我会牢记它们,但此解决方案无法正常工作。再次感谢大家! – Calvin

2

听起来像是不错的情况下,为FlowLayoutPanel控制。我们有一些旧代码是相对于彼此移动按钮。我用FlowLayoutPanel取代了它,它使生活变得更加简单。

可以具有水平或垂直布置的按钮,围绕每个按钮空间它们同样分开,用于在面板内对准所述控件设置属性,使它们如果用户改变形式流入多行设置填充,等等,以后也可以更轻松地进行维护。想象一下,添加一个按钮,10人中间,然后不得不进行手动调整,使该按钮不相互重叠等

这听起来像你不会有最后一个问题,虽然,因为你在运行时动态创建它们。不过,你可以创建一个按钮,将其放入FlowLayoutPanel的,并让控制手柄的它相对于其他控件的实际位置。另外,您也不用担心走动他们,如果用户调整的形式,只要你没事带按钮的多行...

+0

+1更好的方法! –