Silverlight学习之鼠标右键

通常鼠标右键单击Silverlight程序,总是会弹出一个Silverlight默认的菜单如下。

2010052618390187.png

但是在很多情况需要单击鼠标右键出现自己想要的东西,这时候就要自定义鼠标右键事件

首先在Silverlight的宿主页面中添加上 <param name="windowless" value="true" />此属性。

后台代码

 void MainPage_Loaded(object sender, RoutedEventArgs e)
        {
            HtmlPage.Document.Att

achEvent("oncontextmenu",this.RightClick);
        }

        private void RightClick(object sender,HtmlEventArgs e)
        {
            MessageBox.Show("RightClick");
            e.PreventDefault();
        }

在页面加载的时候监听oncontextmenu事件,用AttachEvent为事件添加事件处理程序RightClick。当右键单击时,会弹出对话框。

效果

2010052618291943.png

e.PreventDefault用来阻止Silverlight默认的右键单击时候触发的事件。

这样我们就可以自定义自己想要的东西了

上边是silverlight3里边的方法,在silverlight4可以直接使用鼠标的MouseRightButtonDown事件,
 

ExpandedBlockStart.gif View Code
 
   
1 this .MouseRightButtonDown += new MouseButtonEventHandler(Activity_MouseRightButtonDown);
2
3 void Activity_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
4 {
5 e.Handled = true ;
6 MessageBox.Show( " RightClick " );
7 }

效果和上边相同

PS:在火狐下第一种方法无效,直接使用的MouseRightButtonDown有效

转载于:https://www.cnblogs.com/HellenTian/archive/2010/05/26/1744673.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值