大量textbox回车事件如何让下一个textbox获得焦点?
如果一个一个写事件:if(e.KeyChar==13){textboxn.focus();}发现这样很蠢,要在n个textbox里这样写。。。考虑了下,设好各textbo...
如果一个一个写事件:if (e.KeyChar == 13){textboxn.focus();}发现这样很蠢,要在n个textbox里这样写。。。考虑了下,设好各textbox的tabindex值,回车时让tabindex+1的获得焦点。然后全选textbox,回车,让所有textbox相同事件:if(e.keyChar==13){foreach(control ctr in controls)
if(ctr is textbox)
{if(ctr==activecontrol)
ctr.tabindex=ctr.tabindex+1;
ctr.focus();
}}
这样不行。这代码该怎么写?
注:这些textbox都是重新命名了的,用“textbox1”、"textbox2"这样的name属性来做是不行的。 展开
if(ctr is textbox)
{if(ctr==activecontrol)
ctr.tabindex=ctr.tabindex+1;
ctr.focus();
}}
这样不行。这代码该怎么写?
注:这些textbox都是重新命名了的,用“textbox1”、"textbox2"这样的name属性来做是不行的。 展开
3个回答
展开全部
你那个方法的思路没有说清楚,但是如果能实现你的效果,那也不算错。
我大概看出了你的意图,你希望上一个TextBox输入完了,按回车时跳到下一个TextBox吧?
写一个方法就行了,所有的TextBox都绑定到这个事件上
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
ProcessTabKey(true);
}
}
用的时候先把每个TextBox的TabIndex设置好
我大概看出了你的意图,你希望上一个TextBox输入完了,按回车时跳到下一个TextBox吧?
写一个方法就行了,所有的TextBox都绑定到这个事件上
private void TextBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
ProcessTabKey(true);
}
}
用的时候先把每个TextBox的TabIndex设置好
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询