您的位置:首页 > 其它

WPF 鼠标事件

2013-03-01 11:26 267 查看
鼠标的信息由SystemInformation类提供。SystemInformation类的静态属性(节选)

关于鼠标信息

类型 属性 访问方式 说明

bool MousePresent 读取 表示是否安装了鼠标

int MouseButtons 读取 表示鼠标键的个数

bool MouseButtonsSwapped 读取 表示是否交换了键(方便左撇子用户的设置)

关于鼠标滚轮

类型 属性 访问方式 说明

bool MouseWheelPresent 读取 如果存在滚轮则返回true

int MouseWheelScrollLines 读取 每旋转一周所滚动的行数

bool NativeMouseWheelSupport 读取 对应用程序不很重要

鼠标事件

任何特定的鼠标事件都只由一个控件接收,只有在该控件的Enable和Visible属性,均设置为true时,控件才能接收鼠标事件。鼠标事件只由直接位于鼠标光标下的控件接收。

四种基本的鼠标事件

Control 的事件(节选)

事件 方法 委托 参数

MouseDown OnMouseDown MouseEventHandler MouseEventArgs

MouseUp OnMouseUp MouseEventHandler MouseEventArgs

MouseMove OnMouseMove MouseEventHandler MouseEventArgs

MouseWheel OnMousewheel MouseEvetntHandler MouseEventArgs

MouseEventArgs 类的5个只读属性

类型属性访问方式说明
intX读取鼠标的水平位置
intY读取鼠标的垂直位置
MouseButtonsButton读取鼠标的一个或多个键
intClicks读取对于双击返回2
intDelta读取鼠标滑轮的运动
X 和Y 是整数,以相对于客户区左上角爱哦的像素数来表示鼠标光标热点的位置,该属性对鼠标的4个事件均有效。

Button属性表示在事件中设计的键,这个属性对MouseWheel事件是无效的。Button属性是一个MouseButtons枚举值(None、Left、Right、Middle等)。

按照WPF的帮助说明,某些控件的路由事件被内部处理了,已经被标记为Handled,自行定义的事件处理代码便不再起作用了,有时候会很郁闷!

不过WPF提供了必要的方法。

1)使用相应的Preview事件。须注意隧道类型的事件是从根元素开始执行的。

2)使用AddHandler添加自定义的路由事件。

MouseDown事件的说明



AddHandler方法的说明



遗憾的是,似乎并没有明确说明哪些控件有这样的处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: