更改动态声明按钮的属性

时间:2014-03-13 12:10:10

标签: c#

我在c#中有一个动态创建的按钮。 代码基本上是这样的:

Button b = new Button();
b.Name = "dynabutt";
this.Controls.Add(b);

我想要一个非动态按钮button2,这样当我点击button2时, 动态按钮的颜色会发生变化。那可能吗?谢谢!

2 个答案:

答案 0 :(得分:1)

您只需要将事件处理程序附加到Click的{​​{1}}事件。如果您知道动态按钮的名称,您只需从中访问它你的Controls集合并改变它的颜色:

Button2

答案 1 :(得分:0)

当然,只需在全局某处声明变量b,使其在方法中可见(或分配给其他变量),例如:

public class Form1 : Form
{
    public Button button1 = null;
    public void SomeMethod()
    {
        Button b = new Button();
        b.Name = "dynabutt";
        this.Controls.Add(b);
        button1 = b;
        button1.BackColor = Color.Blue;
    }
    public void button2_Click(...)
    {
        if (button1 != null) button1.BackColor = Color.Red;
    }
}