以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 Dot NET,C#,ASP,VB 』  (http://bbs.xml.org.cn/list.asp?boardid=43)
----  c# textbox回车控件移动焦点  (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=83867)


--  作者:卷积内核
--  发布时间:3/17/2010 10:18:00 AM

--  c# textbox回车控件移动焦点
TextBox控件增加了几个有意思属性。一个布尔值是AcceptsReturn属性的值,允许c# textbox回车接受为一个新行,或者激活窗体上的默认按钮。这个属性设置为true时,c# textbox回车文本框中创建一个新行使用c# textbox回车。CharactorCasing确定文本框中文本的大小写。CharactorCasing枚举包含3个值Lower、Normal和Upper。Lower会使所有的文本小写,Upper则把所有的文本转变为大写,Normal把文本显示为输入时的形式。PasswordChar属性用一个字符表示用户在文本框中输入文本时要显示给用户的内容,这通常用于输入密码和pin数字。c# textbox回车属性返回输入的文本,只有显示的内容会受这个属性的影响。

下面为大家介绍的是实现动态地中窗体中使用c# textbox回车让焦点在控件数组中移动的两种方法。

第一种方法:

C# code

private void Form1_Load(object sender, System.EventArgs e)    {       TextBox []txt = new TextBox[10];       for(int i=0;i <10;i++)       {          txt[i]= new TextBox();          txt[i].Location = new System.Drawing.Point(8, 10+i*30);          txt[i].Size = new System.Drawing.Size(50, 21);          txt[i].TabIndex = i;          txt[i].KeyPress+=new KeyPressEventHandler(txt_KeyPress);          this.Controls.Add(txt[i]);       }    }    private void txt_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)    {  if(e.KeyChar==13)    {     SendKeys.Send("{TAB}");    }    }  
第二种方法:

C# code

protected override bool ProcessDialogKey(Keys keyData)  {      if ((ActiveControl is TextBox || ActiveControl is ComboBox) &&           keyData == Keys.Enter)      {          keyData = Keys.Tab;      }      return base.ProcessDialogKey(keyData);  }


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
187.500ms