.net事件机制实例
//基类定义事件,并定义,何时触发这个事件
public class MySetting
{
public event EventHandler SayHi;
public MySetting()
{
}
public void sayhi()
{
SayHi(this, null);
}
}
//派生类,将事件和它的处理函数绑定到一起,使用继承
public class Settting1 : MySetting
{
public Settting1()
{
this.SayHi += new EventHandler(Settting1_SayHi);
}
public void Settting1_SayHi(object obj, EventArgs e)
{
MessageBox.Show("Sayhello");
}
}
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// Application.Run(new Form1());
Settting1 hi = new Settting1();
hi.sayhi();
}
//组合类,实例化一个定义了事件的成员变量,然后绑定它的事件到相应处理函数
public class Setting2
{
public MySetting set = new MySetting();
public Setting2()
{
set.SayHi += new EventHandler(Settting2_SayHi);
}
public void Settting2_SayHi(object obj, EventArgs e)
{
MessageBox.Show("This is from hello 2");
}
}
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
// Application.Run(new Form1());
Setting2 hi2 = new Setting2();
hi2.set.sayhi();
}
