比如现在 有4个控件 textbox1 textbox2 combobox button1 我想用enter键 将光标焦点依次下载移动 button1后回到 textbox1 应该怎么写呢?
解决方案 »
- 请教WCF证书的客户端分发方案.
- winform用怎样的方法读出combobox选择的是第几项
- 高分!求一程序...
- MDI的一个问题
- 现在玩的3D游戏都是用什么语言写的???
- 一个很傻的问题!
- 辛苦积攒200分向大家请教:使用remote连接上远程对象,在随后的引用中发生了错误.....(ok后,立马结帐)
- 怎么样在c#中从dll中获取类的信息?
- saucer(思归, .NET MVP)大哥,请教一个水晶报表的问题!!谢谢!!!!
- WinForm的Devexpress打开第一个MDI窗体有点慢!
- C#登录SQL数据库出错
- Exception reading data:system.outofmemoryException引发"system.outofmemoryExcept"异常
有很多朋友问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= new TextBox();
txt.Location = new System.Drawing.Point(8, 10+i*30);
txt.Size = new System.Drawing.Size(50, 21);
txt.TabIndex = i;
txt.KeyPress+=new KeyPressEventHandler(txt_KeyPress);
this.Controls.Add(txt);
}
}
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);
}
希望以上对大家有所帮助。 (http://www.7hzx.com/simple/?t903.html)