读书人

请教C#的事件处理机制/原理是不是类

发布时间: 2012-09-24 13:49:41 作者: rapoo

请问C#的事件处理机制/原理,是不是类似于MFC的消息循环?
rt

[解决办法]
.......
不是……
是相当于一个CALLBACK+函数指针
[解决办法]
http://www.yesky.com/497/1640497.shtml
浅析Visual C#事件处理机制
[解决办法]
先说下MFC的吧···
MFC里面 有2中吧

1 消息通知
2 回调函数


C#里面事件就是回调函数

要先声明一个代理(也就是定义一个函数指针说明接受函数的类型,参数列表等等)
然后根据这个代理 在定义一个事件。

但是在.NET里面 一个事件可以对应多个订阅源,就是一个事件调用N个回调函数,这个和MFC里面有很大不同
可以理解成 一个事件就是一个CALLBACK列表,一旦回调就挨个调用就行了
[解决办法]
不是,MFC是消息循环
C井是事件驱动,当然了底层还是消息循环
[解决办法]

探讨
感谢楼上的多次回复

好像说的是表面过程,而不是背后的原理,

哪位高手知道背后的原理啊

[解决办法]
哦,突然还想到一点
上面说的是自定义事件

但对于button的点击事件,鼠标移动事件之类的,还是用的消息循环
不过这个只有winform才有

你要截获窗体的消息,可以重载WndProc函数
这样你就能看到熟悉的m.LParam,m.WParam,m.Msg,m.HWnd了

读书人网 >C#

热点推荐