A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 苏波 高级黑马   /  2013-4-1 20:46  /  2193 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有没有谁 懂事件的 求解释

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

11 个回复

倒序浏览
我也一知半解,不过这篇文章很好,就推荐给你了
http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/903360.html

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
张正强 发表于 2013-4-1 20:53
我也一知半解,不过这篇文章很好,就推荐给你了
http://www.cnblogs.com/JimmyZhang/archive/2007/09/23/90 ...

恩恩 我 看看谢谢
回复 使用道具 举报
事件用通俗的话来说,就是在发生什么事的时候做什么事。
而事件是基于委托的。事件变量是通过委托类型来创建的。
而委托就是将方法当变量来用(委托类型的返回类型和参数类型必须和 赋予委托变量的方法签名相同),调用委托: 委托变量() 就是执行方法。
具体实例就不列举了哈,网上找找很多的,以上只是帮助理解。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
曾玉锋 发表于 2013-4-1 21:19
事件用通俗的话来说,就是在发生什么事的时候做什么事。
而事件是基于委托的。事件变量是通过委托类型来创 ...

恩恩是这么个意思 但是用的时候总很棘手
回复 使用道具 举报
事件,我的理解是委托的一个特殊的实例。
要说事件,不防先说说委托。
委托---是一种数据类型,用之前需要先定义。
public delegate....
委托和类一样,使用时也需要声明一个变量,然后new一个委托对象。
什么时候用委托?为什么要用委托?--当需要保存一个方法的时候使用委托,当要在程序中把方法本身作为参数传递时使用委托。
定义委托注意事项:1.委托的返回值类型,取决于将来要保存的方法是否有返回值类型。2.委托有没 参数也取决于将来要保存的方法是否有参数及参数的个数与类型。3.委托就像一个没有任何实现的方法一样,以“;”结尾。4.关键字delegate.
委托注意事项:
如果委托有返回值并且在调用列表中有一个以上的方法,则需要注意:1.调用列表中最后一个方法返回的值就是委托调用返回的值。2.调用列表中所有其他方法的返回值都会被忽略。3,如果委托有引用参数,参数值会根据调用列表中的一个或多个方法的返回值而改变。
事件。语法:1.先要声明一个委托。public delegate void Mydelegate();
2再声明一个事件。public event Mydelegate PlayOver;通过事件去调用委托指向的方法。
3在声明事件这个类的内部写触发事件的代码(个人理解:一定要在声明事件这个类的内部来实现,以达到封装的目的)
4在需要用到此事件的地方来注册这个事件的一个实例。
5为事件触发后写应对程序。

这就是整个事件注册的过程,若想真正弄懂,还需要自己多实践。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
波兄 爱莫能助
回复 使用道具 举报
张振 发表于 2013-4-1 22:58
波兄 爱莫能助

呵呵 这个我懂  希望你学到这里 时候 不会有疑惑啊
回复 使用道具 举报
本帖最后由 管章鹏 于 2013-4-2 13:25 编辑

      事件是软件系统里的两个子系统之间,或者两个模块之间,或者两个对象之间发送消息,并处理消息的过程。
在面向对象的世界里,就可以统一认为是两个对象之间的行为。两个对象之间发送的这种消息,
对发送方来讲是产生一个事件,对接受方来讲是需要处理某个事件。
这种消息可以是用户操作产生的或者软件系统里的某个对象产生的。

从下图可见,对象一产生一个事件,这个事件发生以后需要对象二执行某种动作。这就是事件机制。
对象一是事件的产生者,或者发送者;对象二是事件的接收者或者订阅者。对象一产生某种消息,
需要对象二响应并处理这给消息,这就是事件的本质。
    C#事件机制的实现包括以下几步:
1、 事件发布者定义一个委托类型;
2、 事件发布者定义一个事件,并且关联到已经定义的委托上。
3、 事件订阅者需要产生一个委托实例,并把它添加到委托列表。
所以,事件event可以看成是一个事件列表,订阅者可以注册和撤销自己的响应和处理机制,但是它没有办法更改整个列表(原则上)

希望对你有帮助,我们一起加油吧,苏波兄!

2.jpg (7.51 KB, 下载次数: 22)

事件机制

事件机制

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
事件最终还是用委托实现的,建议你先看看委托。事件是观察者模式,只不过微软给简化了。可以看看观察者模式。然后你就都懂了
回复 使用道具 举报
事件,通俗的说,就是用来触发一个动作,就像是一个函数,但事件是通过比如点击鼠标,或按键盘上某个键来触发运行的
回复 使用道具 举报
岼惔苁孒莪妑 发表于 2013-4-5 17:08
事件,通俗的说,就是用来触发一个动作,就像是一个函数,但事件是通过比如点击鼠标,或按键盘上某个键来触 ...

要是觉得可以,强烈要求给个技术分吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马