点击鼠标会激发几个事件,讲解有关先后激发顺序的教材哪里有

zcdg909 2009-04-18 06:25:17
请不要说试、永远的试
...全文
93 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcdg909 2009-04-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
单击一次鼠标按钮所引发事件的顺序:
MouseDown 事件。
Click 事件。
MouseClick 事件。
MouseUp 事件。

双击鼠标按钮所引发事件的顺序:
MouseDown 事件。
Click 事件。
MouseClick 事件。
MouseUp 事件。
MouseDown 事件。
DoubleClick 事件
MouseDoubleClick 事件。
MouseUp 事件。

参考
[/Quote]

先生总结的真好,谢谢!
不过,请您再总结些好吗?不胜感激!
龙宜坡 2009-04-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
单击一次鼠标按钮所引发事件的顺序:
MouseDown 事件。
Click 事件。
MouseClick 事件。
MouseUp 事件。

双击鼠标按钮所引发事件的顺序:
MouseDown 事件。
Click 事件。
MouseClick 事件。
MouseUp 事件。
MouseDown 事件。
DoubleClick 事件
MouseDoubleClick 事件。
MouseUp 事件。

参考
[/Quote]

就这些了!
zcdg909 2009-04-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lalac 的回复:]
事件是不确定的,因为它是DotNet造出来的,每一个Control都不同。

这里给你两个示例的:
鼠标左键点击不能获得focus的控件或者已经有focus的,如Label
消息:[WM_LBUTTONDOWN] -> [...] -> [WM_LBUTTONUP]
事件:[MouseDown] -> [MouseClick -> Click -> CaptureChanged -> MouseUp]
鼠标左键点击能获得focus的控件并没有focus的,如TextBox
消息:[WM_LBUTTONDOWN] -> [WM_SETFOCUS] -> [...] -> [WM_LBUTTO…
[/Quote]

先生,这些您是怎么知道的?
wuyq11 2009-04-18
  • 打赏
  • 举报
回复
单击一次鼠标按钮所引发事件的顺序:
MouseDown 事件。
Click 事件。
MouseClick 事件。
MouseUp 事件。

双击鼠标按钮所引发事件的顺序:
MouseDown 事件。
Click 事件。
MouseClick 事件。
MouseUp 事件。
MouseDown 事件。
DoubleClick 事件
MouseDoubleClick 事件。
MouseUp 事件。

参考
xfzzmzj 2009-04-18
  • 打赏
  • 举报
回复
呵呵,看来你有点着急了,
以我多年寻找这方面资料的经验,
1,没有这方面的官方教材,只有msdn上有一些文章提到,每个消息都有单个具体说明,但没有成为系统,一系列的说明
2,点击鼠标产生的消息大致是这样的(以单击为例):
操作系统会接收到leftbuttondown rightbuttonup 两个硬件消息(事件),
操作系统根据点击的是那个窗口,把这两个消息发送到点击的窗口,
这个窗口的所在的线程,接收到这两个消息后,会根据这两个消息进行转换为适当的转换,例如
如果点击的位置在一个button上,
如果两次单击时间近的话,转换为双击事件,
如果没有双击,就转换为单击事件,
如果这个button为非焦点窗口,会转换一个WM_FOCUS消息
如果点击位置在标题栏上,
如果这个窗口为非激活状态,会转为为一个WM_Active消息

3,要想对这方面有所深入学习的话,必须学会用spy++



lalac 2009-04-18
  • 打赏
  • 举报
回复
事件是不确定的,因为它是DotNet造出来的,每一个Control都不同。

这里给你两个示例的:
鼠标左键点击不能获得focus的控件或者已经有focus的,如Label
消息:[WM_LBUTTONDOWN] -> [...] -> [WM_LBUTTONUP]
事件:[MouseDown] -> [MouseClick -> Click -> CaptureChanged -> MouseUp]
鼠标左键点击能获得focus的控件并没有focus的,如TextBox
消息:[WM_LBUTTONDOWN] -> [WM_SETFOCUS] -> [...] -> [WM_LBUTTONUP]
事件: -> [Enter -> GotFocus] ->
[MouseDown] ->
-> [MosueClick -> Click -> CaptureChanged -> MouseUp]
zcdg909 2009-04-18
  • 打赏
  • 举报
回复
我求的是这方面的总结性材料,谢谢

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧