在WinCE下长按屏幕弹出右键菜单

        最近在做WinCE程序,其间想模仿WinCE机子系统所带的功能--“长按屏幕一点来模拟右键(CE里是没有鼠标右键事件的)”,我是想在自己程序里的pictureBox中做这个功能,在网上查看了好多资料都没有讲的很清楚,也没有解决问题,最后请教了一位资深前辈终于解决,设计思路其实非常简单,大体是这样的:首先建立一个timer,设置一段时间间隔(就是按下多久后弹出菜单),将timer的Enable设置为false,当然一个上下文菜单是必不可少的,在MouseDwon事件下写如下程序:

private void pictureBox1_MouseDown(object sender, MouseEventArgs e) { priorPoint.X = e.X;//记录鼠标当前坐标 priorPoint.Y = e.Y;//同上(priorPoint前面已经声明) timer1.Enabled = true;//开启计时器 } 

在MouseMove和MouseUp下将timer1的Enabled设置为false,在timer1下写下如下事件 
private void timer1_Tick(object sender, EventArgs e)
        {
            contextMenu1.Show(pictureBox1, new Point(priorPoint.X, priorPoint.Y));//弹出上下文菜单
            timer1.Enabled = false;        
	}

 

这样就非常简单的完成了这个功能。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值