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个只读属性
X 和Y 是整数,以相对于客户区左上角爱哦的像素数来表示鼠标光标热点的位置,该属性对鼠标的4个事件均有效。
Button属性表示在事件中设计的键,这个属性对MouseWheel事件是无效的。Button属性是一个MouseButtons枚举值(None、Left、Right、Middle等)。
按照WPF的帮助说明,某些控件的路由事件被内部处理了,已经被标记为Handled,自行定义的事件处理代码便不再起作用了,有时候会很郁闷!
不过WPF提供了必要的方法。
1)使用相应的Preview事件。须注意隧道类型的事件是从根元素开始执行的。
2)使用AddHandler添加自定义的路由事件。
MouseDown事件的说明
AddHandler方法的说明
遗憾的是,似乎并没有明确说明哪些控件有这样的处理。
关于鼠标信息
类型 属性 访问方式 说明
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个只读属性
类型 | 属性 | 访问方式 | 说明 |
int | X | 读取 | 鼠标的水平位置 |
int | Y | 读取 | 鼠标的垂直位置 |
MouseButtons | Button | 读取 | 鼠标的一个或多个键 |
int | Clicks | 读取 | 对于双击返回2 |
int | Delta | 读取 | 鼠标滑轮的运动 |
Button属性表示在事件中设计的键,这个属性对MouseWheel事件是无效的。Button属性是一个MouseButtons枚举值(None、Left、Right、Middle等)。
按照WPF的帮助说明,某些控件的路由事件被内部处理了,已经被标记为Handled,自行定义的事件处理代码便不再起作用了,有时候会很郁闷!
不过WPF提供了必要的方法。
1)使用相应的Preview事件。须注意隧道类型的事件是从根元素开始执行的。
2)使用AddHandler添加自定义的路由事件。
MouseDown事件的说明
AddHandler方法的说明
遗憾的是,似乎并没有明确说明哪些控件有这样的处理。
相关文章推荐
- WPF/E CTP Quick Start - 第十部分:脚本和鼠标事件(翻译)
- WPF(二)路由事件5.鼠标拖放
- WPF中C#代码触发鼠标点击事件
- WPF鼠标事件简介
- WPF 鼠标移动到图片变大,移开还原,单击触发事件效果
- WPF滚动条嵌套,响应鼠标滑轮事件的处理
- WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件
- WPF中的鼠标事件详解
- WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件
- 在WPF中强制捕获鼠标,鼠标移出控件后依然何以获取鼠标事件
- wpf 元素如果设置背景透明,则无法接收鼠标事件
- WPF鼠标事件简介
- WPF鼠标事件
- wpf学习笔记-3D场景中的鼠标相应事件
- WPF/E CTP Quick Start - 第十部分:脚本和鼠标事件(翻译)
- WPF 之 鼠标双击事件
- WPF 中鼠标事件无效
- 【WPF】【MVVM】把鼠标事件写到Controller层
- 跟着小王学习wpf之十二 Wpf中的鼠标事件详解
- wpf Canvas 对鼠标事件不响应的解决办法