我处在一个我有两个类的位置,一个有一个按钮的事件处理程序,我需要能够在另一个类中监听该事件处理程序,以便在非按钮类中进行更改。我对这种情况没有多少经验,所以不太清楚从哪里开始。
答案 0 :(得分:0)
这是这两个类的一个例子(如果我理解正确的问题)。
class Form
{
Button _button1, _button2;
public Form()
{
_button1 = new Button("button1");
_button2 = new Button("button2");
_button1.Click += _button_Click;
_button2.Click += _button_Click;
}
void _button_Click(object sender, EventArgs e)
{
Button button = (Button)sender;
Console.WriteLine(button.Name);
}
public void Click1()
{
_button1.FireEvent();
}
public void Click2()
{
_button2.FireEvent();
}
}
class Button
{
public event EventHandler Click;
public string Name;
public Button(string name)
{
Name = name;
}
public void FireEvent()
{
Click(this, new EventArgs());
}
}
用法:
Form f = new Form();
f.Click1();
f.Click2();