电脑教程
位置:首页>> 电脑教程>> windows教程>> Windows 8技巧:Windows 8常用鼠标事件 分析介绍

Windows 8技巧:Windows 8常用鼠标事件 分析介绍

  发布时间:2022-05-29 20:48:54 

标签:Windows8,鼠标事件,分析介绍

本篇文章小编为大家介绍,Windows 8技巧:Windows 8常用鼠标事件分析介绍。需要的朋友参考下

在Windows 8中采用一些新的鼠标事件以替代以前Silverlight的鼠标事件,其常用事件如下:

PointerWheelChanged:鼠标中键滑动事件。

PointerPressed:鼠标点击下去的时候即触发事件。

PointerReleased:鼠标点击下去的时候释放鼠标时触发事件。

PointerEntered:鼠标进入有效范围之时触发一次。

PointerMoved:鼠标在有效范围之内移动之时触发事件。

PointerExited:鼠标退出有效范围之时触发事件。

在本文中将通过实例演示各种鼠标事件的响应.下面我们看实例源码如下:

复制代码代码如下:




其中Xaml.cs后台代码如下,

复制代码代码如下:


///
   public sealed partial class MainPage : Page
   {
       public MainPage()
       {
           this.InitializeComponent();
       }
       Point start = new Point();

///
       ///描述如何访问此页的事件数据。Parameter
       /// 属性通常用于配置页。
       protected override void OnNavigatedTo(NavigationEventArgs e)
       {

}

//鼠标中键滑动事件
       private void MainCanvas_PointerWheelChanged(object sender, PointerRoutedEventArgs e)
       {
           this.tbLabel.Text = "滑动了一次鼠标中箭";
       }

//鼠标点击下去的事件
       private void MainCanvas_PointerPressed(object sender, PointerRoutedEventArgs e)
       {
           start = e.GetCurrentPoint(MainCanvas).Position;
           this.tbLabel.Text = "点击了一次鼠标或者屏幕";

}

//鼠标松键事件
       private void MainCanvas_PointerReleased(object sender, PointerRoutedEventArgs e)
       {
           Point end = e.GetCurrentPoint(MainCanvas).Position;
           double angle = 0;
           //判断拖动鼠标角度
           if (Math.Abs(end.X - start.X) < 1 && Math.Abs(end.Y - start.Y) < 1)
           {
               angle = 0;
           }
           else if (end.X > start.X)
           {

if (end.Y > start.Y)
               {
                   angle = 360 - Math.Atan((end.Y - start.Y) * 1.0 / (end.X - start.X)) * 180 / Math.PI;
               }
               else
               {
                   angle = Math.Atan((start.Y - end.Y) * 1.0 / (end.X - start.X)) * 180 / Math.PI;
               }
           }
           else if (end.X < start.X)
           {
               if (end.Y > start.Y)
               {
                   angle = Math.Atan((end.Y - start.Y) * 1.0 / (start.X - end.X)) * 180 / Math.PI + 180;
               }
               else
               {
                   angle = 180 - Math.Atan((start.Y - end.Y) * 1.0 / (start.X - end.X)) * 180 / Math.PI;
               }
           }
           if (angle == 0)
           {
               this.tbLabel.Text = "点击了一次鼠标或者屏幕";
           }
           else if (angle >= 45 && angle < 135)
           {
               this.tbLabelFore.Text = "从下往上";
           }
           else if (angle

}
       
       //鼠标移动事件
       private void MainCanvas_PointerMoved(object sender, PointerRoutedEventArgs e)
       {
           Point point = e.GetCurrentPoint(MainCanvas).Position;
           this.tbLabel.Text = "鼠标正在移动X:"+point.X+",Y:"+point.Y;
       }

//鼠标移出范围事件
       private void MainCanvas_PointerExited(object sender, PointerRoutedEventArgs e)
       {
           this.tbLabelNext.Text = "鼠标移出作用范围";
       }

//鼠标进入范围事件
       private void MainCanvas_PointerEntered(object sender, PointerRoutedEventArgs e)
       {
           this.tbLabelNext.Text = "鼠标进入范围";
       }
   }

下图是效果演示,如需源码请点击 Win8Event.zip 下载

Windows 8技巧:Windows 8常用鼠标事件 分析介绍

0
投稿

猜你喜欢

手机版 电脑教程 asp之家 www.aspxhome.com