C#按回车Enter使输入焦点自动跳到下一个TextBox的方法汇编.docVIP

C#按回车Enter使输入焦点自动跳到下一个TextBox的方法汇编.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C#按回车Enter使输入焦点自动跳到下一个TextBox的方法收集 在录入界面中,用户往往需要按回车键时光标自动跳入下一个文本框,以方便录入操作。在C#中实现该功能有多种方法,以下是小编收集的不使用TAB键,而直接用回车键将光标转到下一个文本框的实现方法。 一、利用Windows消息模拟发送Tab键 将各个TextBox的TabIndex属性按顺序编号1、2、3……,然后将TextBox的TabStop属性置为True,在每一个TextBox的键盘按下事件中,执行以下代码即可(各个TextBox可共用同一个键盘按下事件)。 /// summary /// 鼠标按键事件。 /// 如果检查到按下的是回车键,则发一个消息,模拟键盘按以下Tab键,以使输入焦点转移到下一个文本框(或其他焦点可停留的控件) /// /summary /// param name=sender/param /// param name=e/param private void textBox_KeyPress(object sender, KeyPressEventArgs e) { ? if (e.KeyChar == (char)Keys.Enter) ? { ? ? SendKeys.Send({tab}); ? } } 二、手动置下一个需要获取焦点的文本框 如果想让焦点跳到任意文本框或者其他地方, 在文本框的键盘按下事件中,将焦点放到目标文本框上。 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { ? if (e.KeyChar == (char)Keys.Enter) ? { ? ? textBox2.focus(); //当在文本框1中检查到回车键时,直接将焦点转入TextBox2 ? } } 三、利用控件的SelectNextControl函数 按方法一中设置好TextBox的TabIndex和TabStop属性,在C# 回车Enter事件中,调用控件的SelectNextControl函数,是的输入焦点跳到下一个TextBox(文本框)。 以下示例是在窗口显示控件中,统一为TextBox的鼠标按下KeyDown事件添加处理函数。(示例来自红日的百度空间) 四、偷梁换柱,将回车键替换成Tab键先设置这些控件的Tab顺序,然后在窗体的后台代码中添加如下函数就可以了 protected override bool ProcessDialogKey(Keys keyData) { ? if (keyData == Keys.Enter)  // 按下的是回车键 ? { ? ? foreach (Control c in this.Controls) ? ? { ? ? ? if (c is System.Windows.Forms.TextBox)  // 当前控件是文本框控件 ? ? ? { ? ? ? ? keyData = Keys.Tab; ? ? ? } ? ? } ? ? keyData = Keys.Tab; ? } ? return base.ProcessDialogKey(keyData); } protected override bool ProcessDialogKey(Keys keyData) { ? if ((ActiveControl is TextBox || ActiveControl is ComboBox) ? ? ? keyData == Keys.Enter) ? { ? ? keyData = Keys.Tab; ? } ? return base.ProcessDialogKey(keyData); } 五、C#WinForm自动跳转回车问题 有个TEXTBOX输入框!属性设置了可以换行multiline设置了True!在keydwon加了换下一个输入框的命令 private void textDisease_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue == 13) { textOrganization.Focus(); textOrganization.SelectAll(); } } 在换到下一个时,原来的输入框也会加了个有回车!如何处理掉这个回车! 解决方法1:设置按键的e.Handled属性 textDisease_KeyDown(object sender, KeyEventArgs e) { ? if (e.KeyValue == 13) ? { ? ? e.Handled = True ? ?

文档评论(0)

0716 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档