委托:

函数指向算法
变量指向数据
C#通过委托保留了函数指针。
用action 委托,委托的函数是void 类型的

func 委托,如上图
自定义委托如下图

接口可以实现委托的功能
======================================
事件(难点,重点)



事件是form的click事件,事件的方法是FormClicked(ctrl+. 回车会自动创建这个方法的模板)
这个方法就是我们的事件处理器。+=是事件的操作符
事件的拥有者是form,事件的响应者是Controller.程序功能,点击窗口可在标题栏显示时间
下面这个例子,拥有着和响应者是同一个From
这里定义了一个MyForm类,是继承自From,可以扩展功能
两个按钮可以订阅同一个方法,下面这个例子button1和button2使用的是系统自带的订阅方法,直接在属性栏小闪电下写,button3是使用委托的方法订阅buttonClicked方法。这里输入button3.click之后new之后,系统会自动弹出小提手表示可用的委托方式。下面的例子使用的是EnventHandler

也可以使用lamda表达式的方式订阅,不用委托

委托类型的自定义
声明一个委托使用关键字 delegate 一般是**+EnentHander()这样命名,委托的类,委托的参数一般是**+EnventArgs,习惯这个派生自EnvenArgs。
委托一般写在类平级的地方


完整声明,调用orderEnventHandler

简略声明,可以直接调用Order

继续简化,使用windows中有的EventHandler委托声明即可,然后将参数类型转化成自定义的类型即可,as表示转化为


On+事件的调用方式:
