2011-03-21 48 views
0

我目前正在繪製一個選擇按鈕的下面一個組合框中每個項目的點擊按鈕是我與借鑑的另一個C#

foreach (Object cbi in acombobox.Items) 
{ 
    Button button = new Button(); 
    button.Location = new Point(25, 35); 
    button.Text = cbi.ToString(); 
    tabbcontrol.TabPages[3].Controls.Add(button); 
} 

由此得出按鈕繪製代碼,但它會覆蓋任何其他按鈕,有沒有辦法在tabcontrol的不同位置繪製按鈕?

編輯

我沒有解釋太清楚如何將我安排遊覽,即像蛛網圖的另一個按鈕上的按鈕,這樣當我點擊主按鈕,其他人將周圍畫用線擴展到各一?

+0

WPF?的WinForms?還有別的嗎? – 2011-03-21 20:37:51

回答

2

您正在同一位置繪製所有按鈕。如果你知道你想添加多少個按鈕,然後爲它們制定佈局,並將它們添加到你想要繪製的位置。

如果您正在加載未知數量的按鈕,則您可能需要查看FlowLayoutPanel控件,該控件按水平或垂直流向排列其內容。這意味着您可以動態添加控件,並且它們會自動放置在彼此之間/彼此相鄰,而不是彼此重疊。

http://msdn.microsoft.com/en-us/library/zah8ywcc.aspx

編輯迴應原來的問題和意見的更新:

如果你知道你需要在設計時是什麼按鈕,你可以借鑑他們,然後只需撥動上森特拉爾按鈕點擊知名度。否則,你需要使用一些三角函數來計算它們的位置http://en.wikipedia.org/wiki/Sine#Relation_to_the_unit_circle

+0

編輯的問題,以顯示所需的輸出形式,你會有任何想法如何實現這一點 – Tom 2011-03-21 21:19:30

3

是的。你給他們一個不同的位置。正如你所看到的,你現在正在把所有的按鈕都放在同一個位置,這就是爲什麼它們相互重疊的原因。

+0

只是意識到這已更新的問題,以顯示我想實現 – Tom 2011-03-21 21:18:28