1事件的概念:Event,基本上说是一个用户操作,例如按键按下,点击.鼠标移动等等,或者是一些系统提示信息,如手机里面通知,应用程序需要再事件发生时响应事件
2系统常用的事件:按钮点击事件(button_Click)
this.button.click+=new SystemEvent:Hanlde(f1)
3 事件和委托的联系?
事件在类中声明和生产,事件关键字是event,并且通过使用同一个类或者其他类中委托与事件的处 理函数进行关联,
事件基于委托,可以说事件是委托的一种方式,为委托提供了一个发布和订阅机制
4 发布器和订阅器
发布器: 是一个包含事件和委托定义的对象,事件和委托之间的关系也是定义在这个类里面的,发 布器类的对象
调用事件,通知其他对象
订阅器:接收这个事件之后 需要触发的函数,写在订阅器类中
发布)手机设置响铃(事件) 之后小明起床(接收)
该类为了定义事件和委托的类,提供一个事件,创建一个事件,
该类一般称为发布器类
自定义时候功能室当Value不一样的情况触发事件函数
实例:
定义一个发布器类(发布器类一定要在类里面定义)
在定义事件前,先定义一个委托类型与事件对应,
public delegate void NumberHandle();
定义事件 使用关键event
ChangeNum 以后是一个方法 使用ChangeNum()
public event NumberHandle ChangeNum;
public int value;//当value值 设置不一样的时候 触发事件函数,
修改value值方法 定义一个方法
创建一个订阅类
在Main里调用方法
运行结果如下:
总结:
事件在类中声明和生产,事件关键字是event,并且通过使用同一个类或者其他类中委托与事件的处理函数进行关联,事件基于委托,可以说事件是委托的一种方式,为委托提供了一个发布和订阅机制
发布器: 是一个包含事件和委托定义的对象,事件和委托之间的关系也是定义在这个类里面的,发布器类的对象调用事件,通知其他对象
订阅器:接收这个事件之后 需要触发的函数,写在订阅器类中
绑定事件的两种写法
e.ChangeNum += D.Print;注册 或者绑定事件函数(直接+=另外一个事件)
e.ChangeNum += new EventTest.NumberHandle(D.Print);
每天进步一点点 每日成长一点点