博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Silverlight 5 beta新特性探索系列:4.Silverlight 5 beta中鼠标双击/鼠标多重点击的实现...
阅读量:6345 次
发布时间:2019-06-22

本文共 1416 字,大约阅读时间需要 4 分钟。

       在Silverlight 5中新增了鼠标双击和多重点击的实现,当然在这里包括鼠标左键和鼠标右键的双击,多重点击。在Silverlight 5的MouseButtonEventArgs类中新增了一个属性名为ClickCount:获取到触发事件源在单位时间内被点击的次数(注意:单位时间是由操作系统的"控制面板"-->"鼠标"-->"双击速度"设置的)。

        下面我们来看一个实例以判断是否双击还是多重点击,首先我们看实例的XAML代码:

 
  1. <Grid x:Name="LayoutRoot" Background="White"
  2. <Ellipse Height="103" HorizontalAlignment="Left" Fill="Green" Margin="117,56,0,0" 
  3. Name="ellipse1" Stroke="Black" StrokeThickness="1" VerticalAlignment="Top" 
  4. Width="158" MouseLeftButtonDown="ellipse1_MouseLeftButtonDown" 
  5. MouseRightButtonDown="ellipse2_MouseRightButtonDown" /> 
  6. </Grid> 

        一、我们来看鼠标左键的双击(三重点击类似)判断如下:

 
  1. private void ellipse1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
  2. //判断鼠标在系统设置的双击间隔时间之内被点击了两次则弹出窗口显示 
  3. if (e.ClickCount == 2) 
  4. MessageBox.Show("鼠标左键点击"+e.ClickCount.ToString()); 

        当双击鼠标左键时得到的效果图如下:

        二、在某一些情况下我们需要判断鼠标右键是否双击或者三击的情况,那么我们敲入以下代码即可:

 
private
void
ellipse2_MouseRightButtonDown(
object
sender, MouseButtonEventArgs e)
{
//
判断鼠标右键三击
if
(e.ClickCount
==
3
)
{
MessageBox.Show(
"
鼠标右键单击了
"
+
e.ClickCount.ToString()
+
"
次!
"
);
}
}

        可是我们当运行时发现出现以下图片效果所示,而不能正常的鼠标右键三击:

        微软默认弹出了一个鼠标右键菜单,我们需要将这个默认的右键菜单禁用了才能够正常的实现鼠标右键多重点击

        A.在加载Xap包的页面SL5DoubleClickTestPage.aspx的<body>元素改为<body  οncοntextmenu="window.event.returnValue=false">。

        B.在<object>标签内新增一行<param name="windowless" value="true" />即可禁用默认的鼠标右键菜单。

        最后得到的鼠标右键三击效果如下图:

        本实例采用VS2010+Silverlight 5 beta编写,如需源码点击   下载。

本文转自程兴亮 51CTO博客,原文链接:http://blog.51cto.com/chengxingliang/826392

转载地址:http://vqula.baihongyu.com/

你可能感兴趣的文章
设计模式之策略设计模式
查看>>
groovy-语句
查看>>
VIM寄存器使用
查看>>
Java VisualVM远程监控JVM
查看>>
nasm预处理器(2)
查看>>
二叉排序树 算法实验
查看>>
Silverlight 5 beta新特性探索系列:10.浏览器模式下内嵌HTML+浏览器模式下创建txt文本文件...
查看>>
YourSQLDba 配置——修改备份路径
查看>>
nginx web服务理论与实战
查看>>
java 库存 进销存 商户 多用户管理系统 SSM springmvc 项目源码
查看>>
网易音乐版轮播-react组件版本
查看>>
ES6 - 函数与剩余运算符
查看>>
你对position了解有多深?看完这2道有意思的题你就有底了...
查看>>
WebSocket跨域问题解决
查看>>
ECMAScript6基本介绍
查看>>
世界经济论坛发布关于区块链网络安全的报告
查看>>
巨杉数据库加入CNCF云原生应用计算基金会,共建开源技术生态
查看>>
Ubuntu 16.04安装Nginx
查看>>
从 JS 编译原理到作用域(链)及闭包
查看>>
flutter 教程(一)flutter介绍
查看>>