为什么鼠标按键释放后才执行对应的动作?

如果你留心观察的话,你会发现这样一个事实:大部分的软件的用户体验中,一般都是在鼠标按键释放后,才会执行相应的动作,而不是按下的时候。例如,当我们按下开始菜单的时候,不会有任何动作发生,只有当我们释放开始菜单的时候,才会弹出开始菜单。(可能有一些例外的情况,例如在文本编辑器里打字就没有遵循这个原则)

为什么大部分的软件都在操作释放的时候才会执行动作呢?

首先,等待鼠标操作完成(按键释放)意味着你为用户创造了取消它的机会。例如,如果在按钮(单选按钮、按钮或复选框)上单击鼠标,然后将鼠标拖离控件,则单击将被取消。但等待按键释放的一个更重要的原因是确保按下的动作不会与操作本身混淆。

例如,假设你处于用户单击对象时对象消失的操作模式。例如,它可能是一个自定义对话框,包含两列,一列显示可用对象,另一列显示正在使用的对象。单击可用对象会将其移动到正在使用的对象列表中,反之亦然。

现在,假设你根据点击而不是鼠标的释放执行操作。当鼠标悬停在某个项目上时,鼠标按钮按下时,将其从列表中删除,并将其添加到相反的列表中。这将移动用户单击的项目,因此鼠标下方的项目现在是移动到原始项目位置的其他项目。然后松开鼠标按钮,你会收到新项目的 WM_LBUTTONUP 消息。

现在有两个问题:首先,用户单击的项目获得了 WM_LBUTTONDOWN 消息,但没有相应的 WM_LBUTTONUP,其次,新项目获得了没有相应 WM_LBUTTONDOWN 的 WM_LBUTTONUP 消息。

你也可以使用键盘遇到类似的情况,尽管这需要更多的工作。例如,如果在按住 Alt 键而不是等待释放时显示对话框,则 Alt 键可能会自动重复并最终传递到该对话框。这样可以防止对话框出现,因为它停滞在由 Alt 键启动的菜单模式中,并且它正在等待你完成菜单操作,然后才会显示自己。

现在,这种类型的不匹配情况通常不是问题,但是当它确实导致问题时,它通常是一个非常令人讨厌的问题。如果你使用某种尝试将鼠标和键盘事件与相应的无窗口对象相关联的无窗口框架,则尤其如此。当操作体验不同步时,事情会变得非常混乱。

总结

我十分赞同本文的观点。
执行的操作必须等待鼠标释放后才会开始,始终给用户取消操作的机会,且尽可能将取消的机会推迟到最后。
这样也可以防止用户的误操作。

最后

Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Why do user interface actions tend to occur on the release, not on the press?》

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库基础入门 — SQL运算符

我是南城余!阿里云开发者平台专家博士证书获得者! 欢迎关注我的博客!一同成长! 一名从事运维开发的worker,记录分享学习。 专注于AI,运维开发,windows Linux 系统领域的分享! 本…

2023 年亚马逊黑色星期五和网络星期一的企业电子商务指南

亚马逊黑色星期五和网络星期一 周末即将到来!感恩节于 11 月 23 日举行,紧接着是 24 日黑色星期五和 27 日网络星期一。您的亚马逊业务准备好应对大量涌入了吗? 我们相信您已经准备好黑色星期五优惠并准备好库存,以确保您有足够的…

一键重装系统Win10专业版教程

在电脑操作过程中,用户如果遇到无法解决的系统问题,就可以考虑直接重新系统。现在,用户想要重新安装一下Win10专业版系统,但是不清楚具体的重装操作步骤。接下来小编给大家介绍轻松重装Win10专业版系统的详细步骤。 推荐下载 系统…

怎么快速卸载office365

怎么快速卸载office365 根据官网提供的两种解决方案即点即用或MSIMicrosoft Store 根据官网提供的两种解决方案 官网地址:https://support.microsoft.com/zh-cn/office/%E4%BB%8E-pc-%E5%8D%B8%E8%BD%BD-office-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8#OfficeVersio…

如何在AppLink配置金蝶云星空预算使用单流程

上一篇有提到金蝶云星空如何通过AppLink平台配置销售订单操作,这次来演示下如何“保存预算使用单”、“调拨单定时自动审核”以及“预算使用单反审核后删除”操作。 根据请求数据保存预算使用单 当webhook接收到数据时触发流程 步骤1:根据webhook的请…

监控员工上网有什么软件丨三款好用的员工上网管理软件推荐

监控员工上网行为是企业管理中不可或缺的一部分,因此,选择一款好的监控员工上网的软件至关重要。目前市场上存在多种监控员工上网的软件,它们具有各种特点和功能,但企业需要仔细评估和选择。 一、域之盾软件 这是一款优秀的监控员…

第十七章 Java链接数据库

目录 1.登录MySQL 2.创建库和表 3.使用Java命令查询数据库操作 4.右击——点击“Build Path”——选择第四个——找到包的位置——导入成功 一、创建java项目 1.注册驱动 2.获取链接 3.获取statment对象 4.执行sql语句返回结果集 5.遍历结果集 6.关闭连接释放资源 封装…

给项目快速接入链路追踪

为什么需要链路追踪? 我们程序员在日常工作中,最常做事情之一就是修bug了。如果程序只是运行在单机上,我们最常用的方式就是在程序上打日志,然后程序运行的过程中将日志输出到文件上,然后我们根据日志去推断程序是哪一…

事件溯源模式

概念解释 事件溯源(Event Sourcing)是一种设计模式,其核心思想是将系统的状态变化表示为一系列不可变的事件,并将这些事件存储在事件日志中。系统的当前状态可以通过重新应用(回放)这些事件来还原&#xf…

webshell之扩展免杀

由于很多企业为了防止源码泄露,都会使用加密扩展将代码进行加密,那么我们就可以就将计就计,将webshell也利用扩展加密,将特征消除,从而达到免杀的效果 1.php-beast 扩展地址 下载dll,并添加至ext中 在php…

网络安全等级保护收费标准?

不同省份价格会略有不同,二级等保一般不低于5万元;三级等保不低于9万元,个别省份也可能7万也能办理,根据企业实际情况和省市选定的代理机构确定。 等级保护二级? 第二级等保是指信息系统受到破坏后,会对公民、法人和其他组织的合…

Airtest结合Poco对控件实施精准截图,学起来!

1.前言 最近在Q群内发现有个小伙伴提出了一个很有趣的脚本需求,想要实现“通过选择器获取到了控件,然后截图这个控件范围”,根据我们的Airtest的局部截图接口以及poco控件的属性查询接口是可以很快实现的~ 2.接口查找 首先我们需要知道我们…

PHP 正则式 全能匹配URL(UBB)

PHP 正则式 全能匹配URL(UBB) 语言:PHP 注明:正则式 无语言限制(js、PHP、JSP、ASP、VB、.net、C#...)一切皆可。 简介:PHP UBB 正则式 全能匹配URL 自动加超级链接。网上找了很多都不匹配或…

短视频矩阵系统源码搭建部署分享

一、 短视频矩阵系统源码搭建部署分享 目录 一、 短视频矩阵系统源码搭建部署分享 二、短视频矩阵系统搭建功能设计 三、 抖音矩阵号矩阵系统功能设计原则 四、 短视频矩阵开发部分源码展示 很高兴能够帮助您,以下是短视频矩阵系统源码搭建部署分享&#xff1a…

python命令行 引导用户填写可用的ip地址和端口号

字多不看,直接体验 待补充 演示代码 # -*- coding:UTF-8 -*- """ author: dyy contact: douyaoyuan126.com time: 2023/11/23 10:29 file: 引导用户填写可用的ip地址和端口号.py desc: xxxxxx """# region 引入必要的依赖 import …

2023亚太杯数学建模C题思路 - 我国新能源电动汽车的发展趋势

1 赛题 问题C 我国新能源电动汽车的发展趋势 新能源汽车是指以先进技术原理、新技术、新结构的非常规汽车燃料为动力来源( 非常规汽车燃料指汽油、柴油以外的燃料),将先进技术进行汽车动力控制和驱动相结 合的汽车。新能源汽车主要包括四种类型&#x…

网络安全等级保护2.0国家标准

等级保护2.0标准体系主要标准如下:1.网络安全等级保护条例2.计算机信息系统安全保护等级划分准则3.网络安全等级保护实施指南4.网络安全等级保护定级指南5.网络安全等级保护基本要求6.网络安全等级保护设计技术要求7.网络安全等级保护测评要求8.网络安全等级保护测评…

插入排序(形象类比)

最近在看riscv手册的时候,里面有一段代码是插入排序,但是单看代码的时候有点迷,没看懂咋操作的,后来又查资料复习了一下,最终才把代码看明白,所以写篇博客记录一下。 插入排序像打扑克牌 这是我听到过比较形…

运动戴什么耳机好?运动无线耳机哪个品牌比较好?运动耳机推荐

​如果你是一名户外运动爱好者,那么一款高品质的运动耳机是必不可少的。它们具备好音质、高稳固性舒适度、防尘防水等多项防护功能,让你在恶劣的天气条件下也能保持音乐的陪伴。面对市面上越来越多的运动耳机,到底哪款更值得入手?…

SS8837T-DF-TP-12V/1.8A直流有刷H桥驱动芯片

由工采网代理提供的SS8837T-H桥驱动芯片为摄像机、消费类产品、玩具和其它低电压或者电池供电的运动控制类应用提供了一个集成的电机驱动器解决方案 可广泛应用于:指纹锁、阀门控制、监控安抚、摄像机、数字单镜头反光 (DSLR) 镜头、消费类产品、玩具、机器人技术、…