添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
挂过科的镜子  ·  VUE 使用 select ...·  7 月前    · 
风流倜傥的大熊猫  ·  Python Qt ...·  2 年前    · 
直爽的墨镜  ·  Python ...·  2 年前    · 

主要有以下几种事件:

主要事件 子事件 触发条件
MouseHover 鼠标悬停在控件发生
MouseLeave 鼠标离开控件时发生 EventHandler
MouseEnter 鼠标进入控件时发生 EventHandler
MouseMove 鼠标移动过程中重复发生 MouseEventHandler
MouseDown 鼠标键按下时发生 MouseEventHandler
MouseLeftButtonDown 鼠标左键按下时发生
MouseRightButtonDown 鼠标右键按下时发生
MouseUp 鼠标键松开时发生 MouseEventHandler
MouseLeftButtonUp 鼠标左键松开时发生
MouseRightButtonUp 鼠标右键松开时发生
MouseWheel 鼠标滚轮滚动时发生 MouseEventHandler

另外还有Preview+事件   如: PreviewMouseMove 等等事件,   先于正常的鼠标事件发生.

发生顺序:

鼠标事件按以下顺序发生:

MouseEnter

MouseMove

MouseHover / MouseDown / MouseWheel

MouseUp

MouseLeave

与组件的绑定

组件名称.事件名称+=new System.EventHandler(事件名称);

OR 组件名称.事件名称+=new System.MouseEventHandler(事件名称);

鼠标事件使用条件

某些控件的功能增强: TreeView里面元素的拖动

或者自定义控件的许多功能: flash的时间轴

控件内拖动功能举例:

l  获得MouseDown时position。

l  在 MouseMove中检查鼠标左键按下情况 和 鼠标移动情况。

l  把移动的举例和系统提供的SystemParameters.MinimumHorizontalDragDistance比较

Math.Abs(now.X-start.X)>SystemParameters.MinimumHorizontalDragDistance

l  在MouseUp中根据左键的释放情况,判断释放拖动完成,然后做相应处理。

特殊问题解决

我们在编写程序代码过程中可能遇到某些鼠标事件完全不被触发的情况,如果你的MouseDown不触发,那么你可以试试PreviewMouseDown事件,其他事件类似,具体什么原因,我也不清楚,感觉MouseDown 与 PreviewMouseDown是两套独立的事件链,互相不影响。

MouseMove的触发不是按固定位移量触发的,(例如:鼠标滑动选择元件,若鼠标移动太快,某些被划过的元件就不被选择了),所以某些情况下在MouseMove里处理 不太可靠。

主要有以下几种事件:主要事件子事件触发条件 MouseHover 鼠标悬停在控件发生 MouseLeave 鼠标离开控件时发生EventHandlerMouseEnter 鼠标进入控件时发生EventHandlerMouseMove 鼠标移动过程中重复发生MouseEvent MouseEnter: 鼠标 移动到元素时触发 事件 MouseLeave: 鼠标 离开元素时触发 事件 PreviewMouseMove:隧道路由 事件 鼠标 移动时触发MouseEventArgs 事件 MouseMove:冒泡路由 事件 鼠标 移动时触发MouseEventArgs 事件 一个对象: MouseEventArgs:触发 事件 举例,在 WPF 项目中,捕获 鼠标 的位置。当 鼠标 在上方蓝色矩形中移动时,在最下方TextBlock中显示 鼠标 位置。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 开发工具与关键技术:Visual Studio 2015 作者:朱海恩 撰写时间:2019年7月19日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...
鼠标 的信息由SystemInformation类提供。SystemInformation类的静态属性(节选) 关于 鼠标 信息 类型            属性                             访问方式                      说明 bool         MousePresent                 读取
Uielement和ContentElement都定义了十个以Mouse开头的 事件 ,8个以PreviewMouse开头的 事件 ,MouseMove,PreviewMouseMove,MouseEnter,Mouseleave的 事件 处理器类型都是MouseEventHandler类型。这些 事件 都具备对应得MouseEventargs对象。(没有pre的enter和leave)。   当 鼠标 穿过一个E