请问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了