2013-04-29 28 views
-1

我想知道如何保持創建的最後一個按鈕的位置或靠近面板在它後面添加一個。而且我想,這個新的按鈕,把最後的一前一後在其名稱中的索引,其中,如果再次點擊該按鈕的名稱將是addstrat_3C# - 創建一個集合來收集創建的最後一個按鈕的位置 - 以及創建的最後一個按鈕的名稱

我的代碼是:

private void addstrat_i_Click(object sender, EventArgs e) 
    { 
     panel3strat.Width += 200; 
     Button addstrat_2 = new Button(); 
     panel3strat.Controls.Add(addstrat_2); 
     addstrat_2.Size = new Size(210, 41); 
     addstrat_2.Location = new Point(31,89); 
     addstrat_2.Visible = true; 
    } 

在這種情況下,我把按鈕在一個命名的位置,但我只是想在最後一個下面創建一個新名稱。

有什麼想法嗎?

感謝

+1

請勿指定確切的座標;這是很多工作,創造了一個真正的混亂,並且是一個噩夢來維持,因爲即使是最小的變化都會讓所有的東西都擺脫怪物。只需爲面板試驗合適的佈局,以便向面板添加新按鈕始終將其添加到最後,而無需指定位置。 – Servy 2013-04-29 16:10:15

+0

我得到你,但我沒有任何線索,如何在最後一個按鈕後添加一個按鈕,你可以知道如何去做1嗎? 謝謝你的時間。 – 2013-04-29 16:13:22

+1

這並不是關於如何添加按鈕,而是關於如何配置面板以確定它如何佈置其中的項目。花一些時間研究如何配置面板的佈局,這將變得非常清楚。 – Servy 2013-04-29 16:15:43

回答

1

你可以使用按鍵對象的簡單列表,並跟蹤它

List<Button> btlist= new List<Button>() 
0
private Button lastAddedBtn = null; 

private void addstrat_i_Click(object sender, EventArgs e) 
{ 
    panel3strat.Width += 200; 
    Button addstrat_2 = new Button(); 

    addstrat_2.Size = new Size(210, 41); 
    addstrat_2.Location = new Point(31,89); 
    addstrat_2.Visible = true; 

    panel3strat.Controls.Add(addstrat_2); 
    lastAddedButton = addstrat2; 

} 

你可以做這樣的事情,存儲在最後添加按鈕的引用私人領域。然後您可以從其他地方訪問其屬性。

+0

我喜歡這種方式! 你知道如何找到最後一個創建的位置嗎? 非常感謝 – 2013-04-29 16:35:10

0

將您的按鈕封裝在爲您定位的類中。看看StackPanel並嘗試創建類似的東西。

相關問題