1

我如何让每次点击按钮来创建一个新按钮并放入面板中?

我不知道使用什么方法来创建按钮数组。

private void button1_Click(object sender, EventArgs e)
    {

        Button c = new Button();
        c.Location = new Point(15,40);
        c.Text = "novo";
        panel1.Controls.Add(c);


    }
4

2 回答 2

1

您可以创建如下按钮列表

public partial class Form1 : Form
{
    List<Button> ButtonList = new List<Button>();

然后您可以像以前一样创建按钮

    private void button1_Click(object sender, EventArgs e)
    {
        Button c = new Button();
        c.Location = new Point(10 , 40);
        c.Text = "novo";
        ButtonList.Add(c); // add to list as well 
        panel1.Controls.Add(c);       
    }

请注意,您可能希望更改每个按钮的位置,否则所有按钮都会重叠,您只会看到一个位于顶部的按钮

于 2013-06-09T18:59:40.193 回答
1

您确实创建了新按钮并将其添加到面板中,只需在同一位置创建它们即可。

c.Location = new Point(15,40);

您可能需要在类级别上为 X 或 Y 坐标或两者都设置一些计数器。

public class Form1 : FOrm {

private int x = 15;

private void button1_Click(object sender, EventArgs e)
    {

        Button c = new Button();
        c.Location = new Point(x,40);
        c.Text = "novo";
        panel1.Controls.Add(c);

        x += 10 + c.Size.Width;
    }
}

您可能想检查您是否超出表格的边界并从“新行”的开头开始。

于 2013-06-09T20:02:20.560 回答