当前位置: 首页 > news >正文

示例:WPF中在没有MouseDoubleClick的控件中如何识别双击

一、目的:由于MouseDoubleClick控件是在Control中实现,那么在底层控件如Grid中想要类似功能如何实现,这里通过MouseDown的事MouseButtonEventArgs参数去实现


二、实现

定义Grid并注册Grid的MouseDown事件

<Grid Background="Transparent" MouseDown="Grid_MouseDown"><TextBlock x:Name="tb_doubleclick" VerticalAlignment="Top" />
</Grid>
        private void Grid_MouseDown(object sender, MouseButtonEventArgs e){if (e.ClickCount == 2)this.tb_doubleclick.Text += "双击" + Environment.NewLine;if (e.ClickCount == 3)this.tb_doubleclick.Text += "三连击" + Environment.NewLine;}

其中MouseButtonEventArgs有个ClickCount参数记录点击的次数,可以根据这个参数做判断

同理三,四.....连击也类似

更精确的控制可以加上e.Timestamp参数,具体作用参考下面五的连接学习

三、环境


VS2022

四、示例

五、需要了解的知识点

MouseButtonEventArgs 类 (System.Windows.Input) | Microsoft Learn

Control.MouseDoubleClick 事件 (System.Windows.Controls) | Microsoft Learn

六、源码地址

GitHub - HeBianGu/WPF-ControlDemo: 示例

GitHub - HeBianGu/WPF-ControlBase: Wpf封装的自定义控件资源库

GitHub - HeBianGu/WPF-Control: WPF轻量控件和皮肤库

七、了解更多

System.Windows.Controls 命名空间 | Microsoft Learn

https://github.com/HeBianGu

HeBianGu的个人空间-HeBianGu个人主页-哔哩哔哩视频

相关文章:

  • SVG 参考手册
  • 小熊文件工具箱免费版
  • 每天写java到期末考试(6.22)--集合5--练习
  • Spring框架中哪些地方使用了反射
  • 第六节 LLava模型数据处理源码解读(input_ids/labels/attention_mask/image,下篇)
  • 数据结构-图的基本概念
  • 小程序项目业务逻辑回忆4
  • huggingface连不上的解决方案
  • oracle发送http请求
  • C++ 反转一个二进制串
  • cd 命令特殊路径符 mkdir命令
  • Android | 性能优化 之 TraceView工具的使用
  • 基于SSM+Jsp的体育竞赛成绩管理系统
  • 45、基于深度学习的螃蟹性别分类(matlab)
  • 网络编程(TCP协议,UDP协议)
  • 10个确保微服务与容器安全的最佳实践
  • bearychat的java client
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Node项目之评分系统(二)- 数据库设计
  • Python socket服务器端、客户端传送信息
  • quasar-framework cnodejs社区
  • sublime配置文件
  • Vue.js源码(2):初探List Rendering
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 开源SQL-on-Hadoop系统一览
  • 力扣(LeetCode)965
  • 如何解决微信端直接跳WAP端
  • media数据库操作,可以进行增删改查,实现回收站,隐私照片功能 SharedPreferences存储地址:
  • ​MySQL主从复制一致性检测
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • ## 基础知识
  • #### golang中【堆】的使用及底层 ####
  • ###C语言程序设计-----C语言学习(6)#
  • #includecmath
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (1)常见O(n^2)排序算法解析
  • (2)nginx 安装、启停
  • (2)STL算法之元素计数
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (Ruby)Ubuntu12.04安装Rails环境
  • (编译到47%失败)to be deleted
  • (超详细)语音信号处理之特征提取
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (五)c52学习之旅-静态数码管
  • (一)Thymeleaf用法——Thymeleaf简介
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转载)深入super,看Python如何解决钻石继承难题