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

  • 1. halcon的自定义控件
  • 2. HMouseDown事件

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");}              }}

这样的话,我双击鼠标的时候就有了下面这样的响应。

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

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

  1. Revit API Hook 之 拦截鼠标双击元素事件

    阅读本文章前应具有一定编程基础和 Window API 相关知识 第一步,先封装HookBase抽象类,因所有Hook的都具有注册.卸载逻辑,且注册.卸载大同小易.如下: public abstrac ...

  2. MFC 鼠标双击响应单击事件

    最近做练习双击鼠标左键时老是相应单击事件,网上查询和自我探索后解决问题,代码如下: 我写的代码为单击鼠标左键确定圆心,鼠标移动时产生橡皮筋线,双击鼠标结束,单双击鼠标之间的距离为圆的半径 void C ...

  3. MFC vc++ 中CTreeContrl如何自定义实现鼠标单击或双击响应事件 ,即重写类似于控件的响应事件或消息

    代码部分摘录自"天上的猩猩的专栏":https://blog.csdn.net/qq_23992597/article/details/51006920#commentsedit ...

  4. unity 鼠标滑动响应事件

    void OnGUI(){if (Event.current.type == EventType.MouseDown){//判断当前手指是按下事件touchFirst = Event.current. ...

  5. 为自定义控件添加页面响应事件

    ascx: <asp:Button ID="Button1" runat="server" Text="Button" OnClick ...

  6. halcon窗体的移动和缩放_halcon与C#联合编程之鼠标控制图片缩放,拖动,roi

    [实例简介]本实例展示了halcon与C#联合编程之鼠标控制图片缩放,拖动,roi [实例截图] [核心代码]using ChoiceTech.Halcon.Control; using Halcon ...

  7. MFC鼠标单击截获鼠标双击事件,且无法记录单击的数据的解决方案

    遇到的问题: 鼠标点击会截断鼠标双击的事件,无法保存椭圆的数据.也就是说双击执行的过程是OnLButtonDown,OnLButtonUp,OnLButtonDblClk,OnLButtonUp.并不 ...

  8. Unity 鼠标连续双击执行事件

    以下代码为鼠标双击执行事件的方法. using System; using UnityEngine;public class DoubleClickMouseButton : MonoBehaviou ...

  9. win32中如何区别“鼠标单击”和 “鼠标双击”

    今天在编写一个win32的程序时,遇到了一个问题,那就是在我响应鼠标双击这个事件时,先响应了鼠标单击这个事件.于是下决心解决这个问题.后来才明白,鼠标双击是由两次鼠标的单击组成的,只不过windows ...

最新文章

  1. 【转】WCF OpenTimeout, CloseTimeout, SendTimeout, ReceiveTimeout
  2. b^3 - a^3 = c
  3. oracle客户端工具_Oracle 发布基于 VS Code 的开发者工具,轻松连接 Oracle 数据库
  4. leetcode-71-简化路径
  5. 揭秘《死者之书》之游戏角色资源创作
  6. 东师计算机应用基础在线作业,东师《计算机应用基础》15春在线作业1答案
  7. 数据库-Linux系统下的命令
  8. HDU2153 仙人球的残影【数学计算+水题】
  9. Android应用开发以及设计思想深度剖析(2)
  10. 使用系统定时器SysTick实现精确延时微秒和毫秒函数
  11. Java集合框架介绍
  12. 雾霾天出行,如何精确避开“雷区”?2016 SODA数据侠十强
  13. WordPress首页上设置倒计时
  14. 拼多多自动上架采集软件免费版教程下载
  15. 常见信息流广告有哪些展现形式
  16. win xp使用技巧
  17. 机器学习笔记 - 使用TensorFlow进行音乐生成
  18. 禁止 mysql nobody_Warning: mysql_real_escape_string(): Access denied for user 'nobody'@'localhost'
  19. 计算机专业术语简单释义
  20. 【机器学习基础】乡村F4带你入门线性回归 带python代码示例(一)

热门文章

  1. kibana常见启动报错
  2. Linux SSH保持连接(解决Broken pipe)
  3. FATAL: password authentication failed for user postgres
  4. VBS操作Excel数据
  5. SVN配置 svn:needs-lock commit提交后,图标为灰色,文件为只读。
  6. python 中基于 xlwings 处理 excel
  7. 【PostgreSQL-9.6.3】数据表操作语句
  8. 【异常:Could not resolve】react-native run-android
  9. 微信分享网页链接缩略图不显示解决方法
  10. 【开发环境】 irun(ncverilog)无法dump fsdb波形问题解决方法