界面内按回车键自动激活下一个控件

  界面内按回车键自动激活下一个控件

界面内按回车键自动激活下一个控件


版本: 2014-12-30


界面内按回车键自动激活下一个控件, 需要设置

1. this.KeyPreview=true;
2. this.EnterFocusNextControl=true;





frmBase.cs修改代码:


C# Code:

/// <summary>
/// 处理回车键或系统热键
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void frmBase_KeyPress(object sender, KeyPressEventArgs e)
{
   if ((e.KeyChar == (char)Keys.Enter) &&&& ActiveControl is TextBox &&& (_EnterFocusNextControl))
   {
      if (ActiveControl is Form) return;
      if (ActiveControl != null & ActiveControl is MemoEdit) return;
      if (ActiveControl != null & ((TextBox)ActiveControl).Multiline == true) return;
      if (ActiveControl != null & ActiveControl is UserControl) return;
      if (ActiveControl != null & ActiveControl is GridControl) return;
      
      SendKeys.Send("{Tab}");//发送Tab键
   }
   else //其它键,作为系统热键处理
   {
      DoHotkey(e.KeyChar);
   }
}

/// <summary>
/// 处理热键
/// </summary>
/// <param name="key"></param>
protected virtual void DoHotkey(char key)
{
   if (key == (char)Keys.F1)
   {
      Msg.Warning("触发frmBase.DoHotkey事件!");
   }
}

//来源:C/S框架网(www.csframework.com) QQ:1980854898



参考文章:

使用SendKeys.Send发送Tab键代替SelectNextControl()方法




C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

界面回车键自动激活一个
表格回车键自动移动一列, 最后行最后列自动新增记录
基类窗体处理回车键自动跳到一输入
C# Winform 回车键查找一个可设置焦点的组件
GridView最后一列回车键自动新增一条记录
ucWindowTitle用户 - 用户界面规范
原创:C#源码 GridMovetor回车自动跳到一列或自动新增记录(www.csframework.com)
详解DevExpress.LookUpEdit实现自动搜索定位功能
Winform界面布局太多没有出现滚动条XtraScrollableControl组使用
【原创】C# Winform Dev自动拉弹框筛选数据PopupContainerEdit组
C#自动关闭弹出的对话框,自动确定按钮
开发技巧-Winform窗体自动生成一个业务流程的单据|C/S框架网
.NET RichTextBox使用详解
LayoutControl界面自适应
界面是否全部使用dev的?还是也可以选择其它的库?
frmBaseDataForm增加SetControlEnable方法-设置容器可用状态
把单据明细方的各字段,要求能自动添加,默认显示1行
使用Scheduler实现生产进度监控程序
ExRichTextEdit 下载
手工添加DevExpress库到工具箱