C按回车Enter使输入焦点自动跳到下一个TextBox的方法汇编_第1页
C按回车Enter使输入焦点自动跳到下一个TextBox的方法汇编_第2页
C按回车Enter使输入焦点自动跳到下一个TextBox的方法汇编_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C#按回车Enter使输入焦点自动跳到下一个 TextBox的方法收集在录入界面中,用户往往需要按回车键时光标自动跳入下一个文本框,以方便录入操 作。在C#中实现该功能有多种方法,以下是小编收集的不使用TAB键,而直接用回车键将光标转到下一个文本框的实现方法。一、利用 Windows消息模拟发送Tab键将各个TextBox的TabIndex属性按顺序编号 1、2、3,然后将TextBox的TabStop 属性置为True,在每一个TextBox的键盘按下事件中,执行以下代码即可(各个 TextBox 可共用同一个键盘按下事件)。/ <summary>/鼠标按键事件。/如果检查到按下

2、的是回车键,则发一个消息,模拟键盘按以下Tab键,以使输入焦点转移到下一个文本框(或其他焦点可停留的控件)/ </summary>/ vparam name="sender">v/param>/ vparam name="e"></param>private void textBox_KeyPress( object sender, KeyPressEventArgs e)if (e.KeyChar = (char)Keys.Enter)SendKeys.Send('tab");二、手动置下一个

3、需要获取焦点的文本框如果想让焦点跳到任意文本框或者其他地方,在文本框的键盘按下事件中,将焦点放到目标文本框上。private void textBox1_KeyPress(object sender, KeyPressEventArgs e)if (e.KeyChar = (char)Keys.Enter)textBox2.focus(); 当在文本框1中检查到回车键时,直接将焦点转入TextBox2三、利用控件的 SelectNextControl函数按方法一中设置好 TextBox的Tablndex和TabStop属性,在 C#回车Enter事件中, 调用控件的SelectNextCont

4、rol函数,是的输入焦点跳到下一个TextBox (文本框)。以下示例是在窗口显示控件中,统一为TextBox的鼠标按下 KeyDown事件添加处理函数。(示例来自红日的百度空间)protected override void On Show n(Eve ntArgs e)base .OnShown(e);foreach (Control ctin this .Controls)TextBox tx = ct as TextBox;if (tx != null )tx.KeyDow n += (se nder, e_args)=>if (e_args.KeyCode = Keys.E n

5、ter) this .SelectNextControl(tx,true , true , false , true );四、偷梁换柱,将回车键替换成Tab键先设置这些控件的Tab顺序,然后在窗体的后台代码中添加如下函数就可以了protected override bool ProcessDialogKey(Keys keyData)if (keyData = Keys.Enter) / 按下的是回车键foreach (Control c in this.Controls)if (c is /当前控件是文本框控件keyData = Keys.Tab;keyData = Keys.Tab;ret

6、urn baseProcessDialogKey(keyData);protected override bool ProcessDialogKey(Keys keyData)if (ActiveControl is TextBox | ActiveControl is ComboBox) &&keyData = Keys.Enter)keyData = Keys.Tab;return baseProcessDialogKey(keyData);五、C#WinForm 自动跳转回车问题有个TEXTBOX 输入框!属性设置了可以换行multiline设置了 True !在keyd

7、won加了换下一个输入框的命令private void textDisease_KeyDown( object sender, KeyEventArgs e)if (e.KeyValue = 13)textOrganization.Focus();textOrganization.SelectAII();在换到下一个时,原来的输入框也会加了个有回车!如何处理掉这个回车!解决方法1 :设置按键的e.Handled属性textDisease_KeyDown( object sender, KeyEventArgs e)if (e.KeyValue = 13)e.Handled = Truetext

8、Organization.Focus();textOrganization.SelectAll();加一句e.Handled = True。目的是让系统不要处理该Enter按键。解决办法2 :使用textChange事件private void textDisease_TextChanged(object sender, EventArgs e)textDisease.Text = "rn"六、在网页程序中不使用TAB键直接用回车键将光标转到下一个文本框的方法在C#.NET中,可以使用JaveScript脚本实现不使用 TAB键,而直接用回车键将光标转到 下一个文本框。v%

9、 Page language="c#" Codebehind="" AutoEventWireup= "false" lnherits="回车使下一个文本框得到焦 点.WebForm1" %> <script language=javascript> function setfocus() ; </script>七、如何在文本框输入框里按回车键,光标自动跳转到下一个文本框输入框或者是 执行某按钮的提交?这两个问题的本质是一样的,一般是借助客户端脚本来解决,举例如下。<% Page

10、 Lan guage='C#" %><script run at="server" >protected void Butt on _Click(object sen der,Eve ntArgs e)Lable1.Text="您点击了:"+(Butto n)se nder).Text;protected void Page_Load( object sender,EventArgs e)int TextBoxNum= 4;for (int i= 1 ;i<=TextBoxNum;i+)if (i!=TextBo

11、xNum)"onkeydown" , "Ta(TextBox)form1.Fi ndCo ntrol("TextBox" +i.ToStri ng().Attributes.Add(bNext(eve nt,'0','"+(T extBox)form1.Fi ndCo ntrol("TextBox+(1+i).ToStri ng().Clie ntID+'")"); else(TextBox)form1.FindControl("TextBox" +i.

12、ToString().Attributes.Add("onkeydown" , "TabNext(eve nt,'"+Butto n2.Clie ntID+'",)");</script>在页面中有一个form1的表单,4个TextBox,还有一个BUtton2按钮,一个Label1,在页面中添加下列javascript 脚本:<script language-'javascript" type="text/javascsript" >function Ta

13、bNext(e,s1,s2)if (window. event)/iekeynum=e.KeyCodeelse if (e.which) netscape,firefox,operakeynum=e.whichif (keynum= 13)if(s1="0")document.getElementByld(s2).focus()elsedocuemnt.getElementByld(s1).click()if (window. event)e.returnValue=false;e.cancelBubble=true;else if (e.which)e.rreventDe

14、fault()v/script>记得要把butto n2的onclick的on click事件绑定到button_click上。在使用这个方法时, 注意TextBox控件的ID的命名规则 TextBox1,TextBox2,TextBox3.和对应的客户端的ID属性。TextBox的Focus()方法允许程序在服务器端设置文本框的焦点.八、回车焦点自动跳到下一个TEXTBOX<% Page Language="C#" AutoEventWireup= "true" CodeFile="" lnherits= "t

15、est" %><!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Transitional/EN" "/xhtml1/DTD/xhtml1-transitional.dtd">vhtml xmlns="/xhtml" >vhead runat= "server"<title> 无标题页 </title>vscript language=javascript><!-function setfocus()if (ev

16、ent.keyCode= 13)event.keyCode=9/ ->v/script>v/head><body>vform id="Form1" onkeydown= "setfocus()" runat="server" ><DIV align= "left" ><asp:TextBox id="TextBox1" runat="server" ></asp:TextBox>v/DIV><DIV align= "left" ><asp:TextBox id="TextBox2" runat="server" ></asp:TextBox></DIV><DIV align= "left" ><asp:TextBox id="TextBox3" runat="server" ></asp:Text

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论