我有一个班级(class1) 在这个课程中,我有一个函数和另一个类:
class2 _class2 = new class2();
protected void Button_Click(object sender, EventArgs e)
{
//do something
}
现在我有另一个班级(class2) 里面有一个按钮 我想发送按钮功能(Button_Click),所以我可以插入它 按钮事件单击 (button.click + =)
class2在class1的循环中构建多个按钮, 我希望当有人点击其中一个按钮时,它会进入事件功能(Button_Click) 1级 我希望我很清楚 谢谢你的帮助
答案 0 :(得分:0)
将protected void Button_Click
更改为public void Button_Click
。
然后从其他地方去:
Button b; // defined in class2, for example
class1 _class1 = new class1();
b.Click += new EventHandler(_class1.Button_Click);
答案 1 :(得分:0)
您是否尝试将事件从一个用户控件“冒泡”到主叫用户控件?如果是这样,你需要做这些事情:
在单击按钮的控件中(a): - 将事件处理程序添加到按钮。单击
在来电者控制中(b) - 订阅事件创建标记中引用的函数:usercontrol(a)theeventhandlerina =“b中的函数”
答案 2 :(得分:0)
如果class2在class 1中,你可以有一个add函数,类似于
_class2 = new Class2();
_class2.AddButton("button1",ButtonClick);
_class2.AddButton("button2",ButtonClick);
_class2.AddButton("button3",ButtonClick);
//in class2
public void AddButton(string buttonName, EventHandler handler)
{
var newButton = new Button(buttonName);
newButton.click+= handler;
}
这当然是一个人为的例子,但它应该得到重点