基类窗体处理按回车键自动跳到下一输入控件
基类窗体处理按回车键自动跳到下一输入控件
特别处理的控件如MemoEdit,TextEdit本身支持多行输入, 如果在这些控件内按回车键自动跳到下一个输入框就不合理了,所以考虑到这种情况。另外,GridControl.GridView组件自身有"EnterMoveNext"功能,也要排除这些组件. 代码: C# Code:
//捕获用户按键 private void frmBase_KeyPress(object sender, KeyPressEventArgs e) { if ((e.KeyChar == (char)Keys.Enter) && (_EnterFocusNextControl)) { this.DoFocusNextControl(e); //交给按键处理程序 } } C# Code:
/// <summary> /// 按回车键自动将焦点移到下一输入框 /// </summary> protected virtual void DoFocusNextControl(KeyPressEventArgs e) { Control c = this.ActiveControl;//取当前焦点状态的控件 if (IsMultiLineInputControl(c)) return; //调用模板方法 this.SelectNextControl(c, true, false, true, true); //处理完毕, 转为No Key Pressed状态. e.KeyChar = (char)Keys.None; e.Handled = true; } //来源:C/S框架网(www.csframework.com) QQ:1980854898 C# Code:
/// <summary> /// 是否可输入多行的控件 /// </summary> /// <param name="c">当前控件</param> /// <returns></returns> protected virtual bool IsMultiLineInputControl(Control c) { if ((c is TextBox) && ((c as TextBox).Multiline == true)) return true; if (c is MemoEdit) return true; return false; }
参考文档:
GridView最后一列按回车键自动新增一条记录 指定单据号码自动打开业务单据窗体并显示数据 C#使用Process类运行外部程序,已运行的程序自动还原主窗体 C# Winform 按回车键查找下一个可设置焦点的组件 新增功能输入产品编号及名称自动筛选数据 界面内按回车键自动激活下一个控件 表格内按回车键自动移动下一列, 最后行最后列自动新增记录 企业版V4.5代码生成器自动生成窗体原型及二次加工界面参考 弹出窗体勾选多条记录自动添加到明细表 C# Winform中如何获取父窗体中控件的信息 开发技巧-Winform窗体自动生成下一个业务流程的单据|C/S框架网 LookupEdit关联更新其它文本输入框的值(自动带出参考数据并赋值) 原创:C#源码 GridMovetor按回车自动跳到下一列或自动新增记录(www.csframework.com) 数据字典基础资料窗体主键设置为自动生成流水号码解决方案 数据字典窗体根据某个字段类型自动生成改类型的流水序号
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |