C#联合Halcon 自定义控件鼠标双击响应事件

43 篇文章 21 订阅

自定义控件鼠标双击响应事件

1. halcon的自定义控件

这两天做项目发现一个问题,halcon自带的控件hWindowControl的双击响应事件无效:

  • 下面的这些事件都无效
    在这里插入图片描述
  • 只有 H 开头的有效,但是这里面有没有鼠标双击的事件
    在这里插入图片描述
  • 我是想实现这样的功能,鼠标双击控件,让控件放大和缩小,最关键的一步就是鼠标双击事件的响应。所以我想到了下面这个办法:

2. HMouseDown事件

  • 使用 HMouseDown事件 来代替鼠标双击事件,实现思路就是,记录两次单击鼠标的事件间隔,如果这个间隔小于我设定的时间,比如500ms,那么我认为刚刚用户进行了一次鼠标双击的操作。
        //解决的方法
        DateTime first;
        int count = 0;
        private void hWindowControl1_HMouseDown(object sender, HalconDotNet.HMouseEventArgs e)
        {
            TimeSpan ts;
            if (count == 0)
            {
                count = 1;
                first = DateTime.Now;
            }
            else if(count == 1)
            {
                count = 0;
                ts = DateTime.Now - first;
                if(ts.Milliseconds < 500)
                {
                    MessageBox.Show("两次单击鼠标的时间间隔小于500ms");
                }              
            }
        }

这样的话,我双击鼠标的时候就有了下面这样的响应。
在这里插入图片描述

  • 我的这种方法比较笨,应该还有更好的方法,但是项目紧急,先这样用着,后面再来研究吧。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MechMaster

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值