"按回车跳转窗体焦点?"
回想几年前我写程序的时候,第一次碰到这个需求。每个界面上的控件都写了一次编码;后来控件多了,动态绑定事件;自定义控件多了,就用了控件继承。但处理的结果并不理想,因为并不是每个操作员都喜欢用Enter跳转焦点;团队开发的时候,不是每一个程序员都接受你的要求,往往漏掉处理某些自定义的控件;最大的缺点是,按钮的默认事件Click事件不能写代码了,带来技术上的沟通障碍。
现在问题解决了。
我的工程里面有个中国操作员操作习惯的基类窗体,一段代码一劳永逸的解决了所有的问题;让团队用正常的处理方式专注功能开发。
首先描述一下需求:
1. 原Windows焦点跳转方式不变,这是为了我们新生代的电脑操作员不用染上坏习惯;
2. 增加按[Enter]跳转焦点到下一控件,按[Shift+Enter]跳转焦点到上一控件;
3. 焦点所在按钮时按[Enter]不触发Click事件,这是开发团队内部的要求;
4. 焦点按钮按[空格]触发Click事件,这是客户的需求。
5. 文本框接受[Enter]的不跳转焦点,不接受[Enter]的跳转焦点。
我的窗体处理代码是这样的:
1