public delegate void EventHandler(object sender, EventArgs e);委托声明
public event EventHandler Load; //事件声明,相当于定义私有的委托变量
this.Load += new System.EventHandler(this.VideoForm_Load);//注册方法
private void Form_Load(object sender, EventArgs e)
{
} //方法定义
在C#窗体加载中,为什么没有事件的调用,这一环节去哪里了?
在Form类中有一个protected virtual void OnLoad(EventArgs e);虚函数完成事件的调用。
知识点:
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
使用委托可以将多个方法绑定到同一个委托变量
事件声明实际是定义一个私有的委托变量