网站首页 > 技术文章 正文
一个程序的好坏,不单单体现在程序的功能上,用户的使用体验也非常重要,例如下面这个示例,打开程序后光标默认在“电话”这一项,而且按照使用习惯按Tab键会把光标显示在下一项,但是程序中并没有按照顺序,而是杂乱无章:
还有一点就是当某项为空的时候,程序会弹出对话框来提示,但是提示完成后还需要用鼠标点击需要修改的项目,增加了用户的操作步骤,使用起来非常不便:
今天我就来告诉大家,怎样解决这两个问题。
设置控件的Tabindex属性
我们可以在设计时,通过设置控件的TabIndex属性来指定程序按下Tab键光标的移动顺序,很好理解,大家实际操作一下就明白了。
Tabindex属性是不能有重复的,如果你设置重复了,和他有冲突的那一个值会自行改变,Tabindex属性是0的时候,代表他是第一位,也就解释了窗体启动时,光标默认在“电话”这一项。
当你按照需要设置好Tabindex属性后,程序运行时按“Tab”键光标就会按照你所设置的顺序来移动。
我们看到,程序启动时光标默认为第一项,而且按下“Tab”键光标会按照顺序来移动,很符合用户的使用习惯。
通过文本框的KeyPress事件来设置
我们还可以通过控件的按键事件来灵活的指示光标的位置,比如说当一般情况下我们按下回车键的时候,代表此项输入完毕,进行下一项,我们就可以在文本框的KeyPress事件中判断是否按下了回车,如果按下就把下一个文本框设置为焦点控件。
比如:
这样的话我们输入完姓名直接按回车,光标会转到“性别”项:
通过SetFocus来指定光标位置
说回上面的问题,当弹出错误提示,用户必须用鼠标点击需要修改的项,不人性化,我们用SetFocus来解决这个问题。
我们在弹出对话框的下一条语句加上 对象.SetFocus ,就会设置光标位置来指引用户操作:
这样的话当用户收到错误提示以后,就不用鼠标点击需要修改的项,程序自动会把光标指向该项。
猜你喜欢
- 2024-12-24 Excel VBA 用户窗体设置/一步一步代你设计EXCEL用户+密码登录界面
- 2024-12-24 家庭收支理财管理系统 Access数据库系统课程设计制作实例
- 2024-12-24 Qt 2D绘图:图形视图框架的事件处理与传播
- 2024-12-24 MFC界面库BCGControlBar v32.1 - 可视化管理器和主题升级
- 2024-12-24 DJYGUI系列文章九:GDD消息系统 gd信息
- 2024-12-24 Qt设备识别(简单的密钥生成器) qt设备管理系统
- 2024-12-24 Access开发的《财务经济管理系统》
- 2024-12-24 初级开发人员告诉我:OO 设计模式太复杂而且没用
- 2024-12-24 从零开始学Qt(89):UDP单播和广播
- 2024-12-24 Qt入门阶段之事件 qtc间期延长的临床意义
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)