一:鼠标移动事件(MouseMove)
鼠标移动到一个控件上方时,就会触发MouseMove事件。
范例:用MouseMove事件跟踪鼠标坐标
- 在MainPage中添加一个Rectangle控件和2个TextBox控件;
- 给Rectangle控件添加MouseMove事件函数;
- 添加代码:
textBox1.Text = e.GetPosition(this).X.ToString();
textBox2.Text = e.GetPosition(this).Y.ToString(); - 按F5键试验一下!
二:鼠标右键
Silverlight4新增了对鼠标右键的支持,两个事件分别成为MouseRightButtonDown和MouseRightButtonUp(注意,没有鼠标右键的Click事件)。
范例:改变一个Name=“rectangle”的Rectangle的颜色
在rectangle_MouseRightButtonDown事件处理函数中添加代码:
rectangle.Fill = new SolidColorBrush(Colors.Yellow);
e.Handled = true;
在rectangle_MouseRightButtonUp事件处理函数中添加代码:
rectangle1.Fill = new SolidColorBrush(Colors.Green);
按F5键试验一下,在矩形上方按下鼠标右键,矩形就会变成黄色;一旦松开鼠标右键,就会变成绿色。
三:鼠标滑轮事件(MouseWheel)
Silverlight允许在应用程序中捕获MouseWheel事件,从而为鼠标滚轮写代码。这个事件获取一个MouseWheelEventArgs实例作为参数,通过这个实力的Delta属性,即可知道用户用滚轮做了什么。
范例:在Rectangle控件里添加MouseWheel事件处理函数添加如下代码:
if (e.Delta > 0)
{
textBox3.Text = "MouseWheel UP!";
}
else
{
textBox3.Text = "MouseWheel Down!";
}
按F5键运行程序!
注意:MouseWheelEventArgs的Delta属性返回一个值来制定滚轮相对于事件上次触发时的位置。换言之,Delta值不是一个绝对值,相反,当滚轮朝你的方向滚动时,请将Delta想象成一个负值;滚动它远离自己时,则想象成一个正值。开发应用程序时,务必记住这一点。