2011-03-21 52 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