我在c#中有一个动态创建的按钮。 代码基本上是这样的:
Button b = new Button();
b.Name = "dynabutt";
this.Controls.Add(b);
我想要一个非动态按钮button2,这样当我点击button2时, 动态按钮的颜色会发生变化。那可能吗?谢谢!
答案 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;
}
}