博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Microsoft Silverlight 4从入门到精通之鼠标事件

Posted on 2012-04-04 00:04  GISerYang  阅读(1420)  评论(0编辑  收藏  举报

一:鼠标移动事件(MouseMove)

鼠标移动到一个控件上方时,就会触发MouseMove事件。

范例:用MouseMove事件跟踪鼠标坐标

  1. 在MainPage中添加一个Rectangle控件和2个TextBox控件;
  2. 给Rectangle控件添加MouseMove事件函数;
  3. 添加代码:
    textBox1.Text = e.GetPosition(this).X.ToString();
    textBox2.Text = e.GetPosition(this).Y.ToString();
  4. 按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想象成一个负值;滚动它远离自己时,则想象成一个正值。开发应用程序时,务必记住这一点。