0

我创建了一些新方法:

void newMethod(int x, int y)
{
    Button B = new Button();
    B.Size = new Size(100, 30);
    B.Location = new Point(x, y);
    B.Text = "Text";
    Controls.Add(B);
}

现在我在其他方法中创建了一个新面板:

void Something()
{
    Panel P = new Panel();
    P.Size = new Size(300, 300);
    P.Location = new Point(0, 0);
    P.BackColor = new Color(Blue);
    Controls.Add(P);
}

如何将创建按钮的第一种方法添加到第二种方法的面板中?

4

3 回答 3

1

添加父控件作为参数:

private void AddButton(int x, int y, Control parent)
{
    Button button = new Button
        {
            Size = new Size(100, 30),
            Location = new Point(x, y),
            Text = "Text"
        };

    parent.Controls.Add(button);
}

然后:

void Something()
{
    Panel P = new Panel();
    P.Size = new Size(300, 300);
    P.Location = new Point(0, 0);
    P.BackColor = new Color(Blue);

    this.AddButton(100, 100, P);
}
于 2012-05-27T11:56:21.537 回答
0

编辑您的第一种方法

void newMethod(int x, int y, Panel p)
{
    Button B = new Button();
    B.Size = new Size(100, 30);
    B.Location = new Point(x, y);
    B.Text = "Text";
    p.Controls.Add(B);
}
于 2012-05-27T11:54:41.343 回答
0

全局地给出这个声明。那是在类内部而不是在 NewMethod 中。

Panel P = new Panel();

然后写这段代码

this.P.controls.Add(B);

安装的

Controls.Add(B);
于 2012-05-27T11:23:21.573 回答