2012-06-20 216 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更好的方法! –