C#开发——Winform中ToolTip闪烁的解决方案

news2024/11/19 21:14:19

1、背景

        首先要知道在何种情况下需要用tooltip控件,使用场景应该是:鼠标移入某个控件区域,显示tooltip的提示;移出后隐藏该提示

        采用的比较多的方式是,对该控件的MouseMove和MouseLeave事件进行处理。

        至于为什么不是MouseEnter或者MouseHover,是因为Enter和Hover都是Move触发时间段内起始点和某一特定时间点的一次特定触发。

2、拓展

        处理Move事件可以覆盖更多的场景需要,比如在listview或其他集合控件,在item上移动时,也可以通过判断鼠标相对于控件的位置,通过一些其他方法判断当前移动到了哪个item上,结合item的tag属性,从而可以给各个item显示不同的tooltip内容。

3、闪烁问题+调试定位

        闪烁出现的原因,是因为我们在MouseMove事件中调用ToolTip的Show对其进行显示(其参数配置不再赘述),在MouseLeave事件中调用了ToolTip的Hide将其隐藏。

 

        而实际上鼠标是有可能在某个范围内小幅度的漂移,导致的结果就是看上去鼠标未移动,而实际上,在某些特定位置,Move和Leave事件会不断的接连触发(如上加入断点输出自定义内容),导致隐藏、显示、隐藏、显示... ...

4、解决方案

        实际上界面类似视觉效果异常的处理,要考虑一个词“障眼法”,用户是不需要考虑你的后台代码如何运行的。

        可以参考以下代码,限制Leave事件的触发而主动隐藏tooltip的频率(根据实际情况设置tooltip的3个一般参数,设置timespan的时间段大小):

 5、其他界面刷新卡顿“”问题

        好的障眼法,能够处理很多的界面开发问题。其他的知识是,人眼能够识别变化的频率是只能看到30Hz以下的,所以另外的类似在MouseMove事件中处理其他“界面刷新卡顿”问题时,可以考虑通过类似的记录时间判断两次处理时间的差值(30ms=1s/30Hz处理一次),让其慢下来,对用户来说是无感的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【产品人卫朋】华为销售体系 | 销售管理:LTC流程体系详解

LTC 是华为的三大主流程之一,从线索发现开始,直至收回现金,从而实现端到端地拉通。 三大主流程分别是: 其他流程可以参考之前文章: 华为IPD流程 华为ITR流程 继续今天的内容,在不同的流程环节卷入不同的…

[1.2.0新功能系列:一] Apache Doris 1.2.0 版本 Light Schema Change

在 1.2.0 新版本中,对数据表的加减列操作,不再需要同步更改数据文件,仅需在 FE 中更新元数据即可,从而实现毫秒级的 Schema Change 操作,且存在导入任务时效率的提升更为显著。与此同时,使得 Apache Doris …

干货 | Dubbo 接口测试原理及多种方法实践总结

1、什么是 Dubbo? Dubbo 最开始是应用于淘宝网,由阿里巴巴开源的一款优秀的高性能服务框架,由 Java 开发,后来贡献给了 Apache 开源基金会组织。 下面以官网的一个说明来了解一下架构的演变过程,从而了解 Dubbo 的诞…

【RNN:并行场景和纹理学习】

Infrared and visible image fusion via parallel scene and texture learning (基于并行场景和纹理学习的红外与可见光图像融合) 本文提出了一种基于并行场景和纹理学习的红外和可见光图像融合方法。我们的主要目标是部署深度神经网络的两个分支&…

登临科技加入飞桨硬件生态共创计划,共推AI应用规模化落地

近日,上海登临科技有限公司与飞桨签署硬件生态共创计划合作协议,正式加入由飞桨发起的硬件生态共创计划。当前双方的合作主要基于登临科技自主创新的通用GPU系列产品——Goldwasser(高凛)。 上海登临科技有限公司 高性能、通用…

松耦合式的权限控制设计,自定义权限表达式yyds!

背景 企业应用系统逐渐增多后,各系统单独管理各自的用户数据容易形成信息孤岛,分散的用户管理模式阻碍了企业应用向平台化演进,为降低企业系统设计开发、集成成本,打通技术闭环完善系统设计实现流程、优化提升系统设计实现的整体…

电子元器件行业如何做好库存管理优化?试试数商云B2B电商系统!

我们知道,企业的库存管理对企业各个部门的成本核算业务有着直接的影响,因此,优化企业库存管理对于企业的整体发展十分重要。对于电子元器件行业来说,许多中小规模的电子元器件分销商,由于早期缺乏管理经验,…

活体深度方向模型

🍿*★,*:.☆欢迎您/$:*.★* 🍿 不断的利用 输入 不断的对比新的输入 查询暂时的记忆模块 查询后交互方法 之后得到新的输入 查询不到变使用 模型进行预测 交互 这样方能实现自我更新 自我 记忆 自我维护 不断个更新 设计

[volatile]关键字和wait()notify()详解

目录 1.内存可见性问题-引入 2.volatile关键字 3.从java内存模型的角度内存可见性问题 4.wait()和notify()方法 4.1 wait()方法 4.2 notify()方法 wait与sleep的区别(面试题) 4.3 notifyAll()方法 4.4 多个线程使用wait和notify方法 1.内存可见性问题-引入 构造一个…

阿里三面:说一说你在上家公司都用过哪些限流方案?

一、限流思路 常见的系统服务限流模式有:熔断、服务降级、延迟处理和特殊处理四种。 1、熔断 将熔断措施嵌入到系统设计中,当系统出现问题时,若短时间内无法修复,系统会自动开启熔断开关,拒绝流量访问,避…

数据库原理及MySQL应用 | 视图

视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制,透过视图用户可以看到数据表中看书需要的内容。 视图(View)是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。在用户看来,视图是通过不同角度去看实际表中的数据&…

如何在GPU上运行pandas和sklearn?

当涉及大量数据时,Pandas 可以有效地处理数据。但是它使用CPU 进行计算操作。该过程可以通过并行处理加快,但处理大量数据仍然效率不高。 在以前过去,GPU 主要用于渲染视频和玩游戏。但是现在随着技术的进步大多数大型项目都依赖 GPU 支持&a…

【C++初阶7-string实现】xxx坐享其成,xxx苦不堪言

前言 本期分享Cstring类的模拟实现(参考SGI 30实现),不套类模版,降低学习成本, 进一步加深理解。 属性介绍 名称具体成员动态字符数组char* _s存储有效数据的容量size_t capacity有效数据的个数size_t sizenposstat…

【OpenCV 例程 300篇】251. 特征匹配之暴力匹配

『youcans 的 OpenCV 例程300篇 - 总目录』 【youcans 的 OpenCV 例程 300篇】251. 特征匹配之暴力匹配 特征匹配是特征检测和特征描述的基本应用,在在图像拼接、目标识别、三维重建等领域的应用非常广泛。 基于特征描述符的特征点匹配是通过对两幅图像的特征点集合…

基于统一空间方法的动态切换拥挤(DSC)DSC-MOAGDE算法附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

Python编程零基础如何逆袭成为爬虫实战高手之《WIFI破解》(甩万能钥匙十条街)爆赞爆赞~

导语 Hello,大家好呀!我是木木子吖~ 一个集美貌幽默风趣善良可爱并努力码代码的程序媛一枚。 听说关注我的人会一夜暴富发大财哦~ (哇哇哇 这真的爱😍😍) 所有文章完整的素材源码都在&#…

dreamweaver网页大作业 我的家乡——南京玄武湖旅游攻略(4页) 学生网页设计作业源码

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

Java项目写好了,如何部署上线?看这篇文章吧

嗨,各位小伙伴大家好,你有没有想壹哥呀?前几天有小伙伴给壹哥留言,说自己的项目写好了,想把项目部署到服务器上,这个该怎么实现呢?那么针对这个问题,今天壹哥就带大家走一遍完整的项…

【云计算与大数据计算】大数据物理、集成、安全架构及阿里云飞天系统架构讲解(超详细)

一、物理架构 物理架构 - 企业大数据系统的各层次系统最终要部署到主机节点中,这些节点通过网络连接成 为一个整体,为企业的大数据应用提供物理支撑 ,企业大数据系统由多个逻辑层组成,多个逻辑层可以映射到一个物理节点上,也可以映射到多个物…

nacos--基础--1.1--理论--介绍

nacos–基础–1.1–理论–介绍 1、介绍 是阿里的一个开源产品致力于帮助您发现、配置和管理微服务 1.1、参考资料 https://nacos.io/zh-cn/docs/what-is-nacos.html1.2、功能 服务发现中心:动态服务发现服务注册中心:管理注册服务服务配置中心&#…