将事件函数发送到从一个类到另一个类的按钮

时间:2012-02-01 18:18:12

标签: c# asp.net button event-handling

我有一个班级(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级 我希望我很清楚 谢谢你的帮助

3 个答案:

答案 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;

}

这当然是一个人为的例子,但它应该得到重点