Silverlight 5 beta新特性探索系列:4.Silverlight 5 beta中鼠标双击/鼠标多重点击的实现
2011-04-19 11:47
579 查看
在Silverlight 5中新增了鼠标双击和多重点击的实现,当然在这里包括鼠标左键和鼠标右键的双击,多重点击。在Silverlight 5的MouseButtonEventArgs类中新增了一个属性名为ClickCount:获取到触发事件源在单位时间内被点击的次数(注意:单位时间是由操作系统的"控制面板"-->"鼠标"-->"双击速度"设置的)。
下面我们来看一个实例以判断是否双击还是多重点击,首先我们看实例的XAML代码:
一、我们来看鼠标左键的双击(三重点击类似)判断如下:
当双击鼠标左键时得到的效果图如下:
二、在某一些情况下我们需要判断鼠标右键是否双击或者三击的情况,那么我们敲入以下代码即可:
可是我们当运行时发现出现以下图片效果所示,而不能正常的鼠标右键三击:
微软默认弹出了一个鼠标右键菜单,我们需要将这个默认的右键菜单禁用了才能够正常的实现鼠标右键多重点击
A.在加载Xap包的页面SL5DoubleClickTestPage.aspx的<body>元素改为<body oncontextmenu="window.event.returnValue=false">。
B.在<object>标签内新增一行<param name="windowless" value="true" />即可禁用默认的鼠标右键菜单。
最后得到的鼠标右键三击效果如下图:
本实例采用VS2010+Silverlight 5 beta编写,如需源码点击 SL5DoubleClick.zip 下载。
下面我们来看一个实例以判断是否双击还是多重点击,首先我们看实例的XAML代码:
<Grid x:Name="LayoutRoot" Background="White"> <Ellipse Height="103" HorizontalAlignment="Left" Fill="Green" Margin="117,56,0,0" Name="ellipse1" Stroke="Black" StrokeThickness="1" VerticalAlignment="Top" Width="158" MouseLeftButtonDown="ellipse1_MouseLeftButtonDown" MouseRightButtonDown="ellipse2_MouseRightButtonDown" /> </Grid>
一、我们来看鼠标左键的双击(三重点击类似)判断如下:
private void ellipse1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { //判断鼠标在系统设置的双击间隔时间之内被点击了两次则弹出窗口显示 if (e.ClickCount == 2) { 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 oncontextmenu="window.event.returnValue=false">。
B.在<object>标签内新增一行<param name="windowless" value="true" />即可禁用默认的鼠标右键菜单。
最后得到的鼠标右键三击效果如下图:
本实例采用VS2010+Silverlight 5 beta编写,如需源码点击 SL5DoubleClick.zip 下载。
相关文章推荐
- Silverlight 5 beta新特性探索系列:4.Silverlight 5 beta中鼠标双击/鼠标多重点击的实现
- Silverlight 5 Beta新特性[2] 鼠标多重点击实现
- Silverlight 5 Beta新特性[2] 鼠标多重点击实现
- Silverlight 5 beta新特性探索系列:9.视频快进快退和TextSearch对象对文字项查询
- Silverlight实用窍门系列:12.继承于某些固定控件(以Grid为例)的鼠标左键双击事件的实现【附带实例源码】
- Silverlight 5 beta新特性探索系列:3.Silverlight5中的文字增进控制【附带实例源码】
- Silverlight 5 beta新特性探索系列:9.视频快进快退和TextSearch对象对文字项查询
- Silverlight 5 beta新特性探索系列:3.Silverlight5中的文字增进控制【附带实例源码】
- Silverlight 5 beta新特性探索系列:1.安装Silverlight 5 beta环境以及OOB模式下Silverlight 5 多窗口支持
- Silverlight 5 beta新特性探索系列:2.在XAML代码中设置断点和Binding绑定调试【附带源码实例】
- Silverlight 5 beta新特性探索系列:1.安装Silverlight 5 beta环境以及OOB模式下Silverlight 5 多窗口支持
- Silverlight 5 beta新特性探索系列:2.在XAML代码中设置断点和Binding绑定调试【附带源码实例】
- XAML语言的调试方法。Silverlight 5 beta新特性探索系列:2.在XAML代码中设置断点和
- Silverlight 5 beta新特性探索系列:6.Silverlight 5新增低延迟声音效果类SoundEffect.支持wav音乐格式【附带源码实例】
- Silverlight 5 beta新特性探索系列:7.结合上层元素属性绑定和Style Setter上的绑定
- Silverlight 5 beta新特性探索系列:8.Silverlight 5中自定义扩展标记
- Silverlight 5 beta新特性探索系列:7.结合上层元素属性绑定和Style Setter上的绑定
- Silverlight 5 beta新特性探索系列:8.Silverlight 5中自定义扩展标记
- Silverlight 5 beta新特性探索系列:10.浏览器模式下内嵌HTML+浏览器模式下创建txt文本文件
- Silverlight 5 beta新特性探索系列:10.浏览器模式下内嵌HTML+浏览器模式下创建txt文本文件